aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
294 lines (293 loc) • 12.4 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { ISignalingChannelRef, IStreamRef, SignalingChannelReference, StreamReference } from "../../interfaces/generated/aws-kinesisvideo-interfaces.generated";
/**
* Specifies a signaling channel.
*
* `CreateSignalingChannel` is an asynchronous operation.
*
* @cloudformationResource AWS::KinesisVideo::SignalingChannel
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html
*/
export declare class CfnSignalingChannel extends cdk.CfnResource implements cdk.IInspectable, ISignalingChannelRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnSignalingChannel from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSignalingChannel;
/**
* Checks whether the given object is a CfnSignalingChannel
*/
static isCfnSignalingChannel(x: any): x is CfnSignalingChannel;
static arnForSignalingChannel(resource: ISignalingChannelRef): string;
/**
* The Amazon Resource Name (ARN) of the signaling channel.
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The period of time (in seconds) a signaling channel retains undelivered messages before they are discarded.
*/
messageTtlSeconds?: number;
/**
* A name for the signaling channel that you are creating.
*/
name?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* A type of the signaling channel that you are creating.
*/
type?: string;
/**
* Create a new `AWS::KinesisVideo::SignalingChannel`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnSignalingChannelProps);
get signalingChannelRef(): SignalingChannelReference;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnSignalingChannel`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html
*/
export interface CfnSignalingChannelProps {
/**
* The period of time (in seconds) a signaling channel retains undelivered messages before they are discarded.
*
* Use `API_UpdateSignalingChannel` to update this value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html#cfn-kinesisvideo-signalingchannel-messagettlseconds
*/
readonly messageTtlSeconds?: number;
/**
* A name for the signaling channel that you are creating.
*
* It must be unique for each AWS account and AWS Region .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html#cfn-kinesisvideo-signalingchannel-name
*/
readonly name?: string;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html#cfn-kinesisvideo-signalingchannel-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* A type of the signaling channel that you are creating.
*
* Currently, `SINGLE_MASTER` is the only supported channel type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html#cfn-kinesisvideo-signalingchannel-type
*/
readonly type?: string;
}
/**
* Specifies a new Kinesis video stream.
*
* When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version.
*
* `CreateStream` is an asynchronous operation.
*
* For information about how the service works, see [How it Works](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-it-works.html) .
*
* You must have permissions for the `KinesisVideo:CreateStream` action.
*
* @cloudformationResource AWS::KinesisVideo::Stream
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html
*/
export declare class CfnStream extends cdk.CfnResource implements cdk.IInspectable, IStreamRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnStream from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnStream;
/**
* Checks whether the given object is a CfnStream
*/
static isCfnStream(x: any): x is CfnStream;
static arnForStream(resource: IStreamRef): string;
/**
* The Amazon Resource Name (ARN) of the stream.
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* How long the stream retains data, in hours.
*/
dataRetentionInHours?: number;
/**
* The name of the device that is associated with the stream.
*/
deviceName?: string;
/**
* The ID of the AWS Key Management Service ( AWS ) key that Kinesis Video Streams uses to encrypt data on the stream.
*/
kmsKeyId?: string;
/**
* The `MediaType` of the stream.
*/
mediaType?: string;
/**
* The name of the stream.
*/
name?: string;
/**
* The configuration for stream storage, including the default storage tier for stream data.
*/
streamStorageConfiguration?: cdk.IResolvable | CfnStream.StreamStorageConfigurationProperty;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* Create a new `AWS::KinesisVideo::Stream`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnStreamProps);
get streamRef(): StreamReference;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnStream {
/**
* The configuration for stream storage, including the default storage tier for stream data.
*
* This configuration determines how stream data is stored and accessed, with different tiers offering varying levels of performance and cost optimization.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisvideo-stream-streamstorageconfiguration.html
*/
interface StreamStorageConfigurationProperty {
/**
* The default storage tier for the stream data.
*
* This setting determines the storage class used for stream data, affecting both performance characteristics and storage costs.
*
* Available storage tiers:
*
* - `HOT` - Optimized for frequent access with the lowest latency and highest performance. Ideal for real-time applications and frequently accessed data.
* - `WARM` - Balanced performance and cost for moderately accessed data. Suitable for data that is accessed regularly but not continuously.
*
* @default - "HOT"
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisvideo-stream-streamstorageconfiguration.html#cfn-kinesisvideo-stream-streamstorageconfiguration-defaultstoragetier
*/
readonly defaultStorageTier?: string;
}
}
/**
* Properties for defining a `CfnStream`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html
*/
export interface CfnStreamProps {
/**
* How long the stream retains data, in hours.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html#cfn-kinesisvideo-stream-dataretentioninhours
*/
readonly dataRetentionInHours?: number;
/**
* The name of the device that is associated with the stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html#cfn-kinesisvideo-stream-devicename
*/
readonly deviceName?: string;
/**
* The ID of the AWS Key Management Service ( AWS ) key that Kinesis Video Streams uses to encrypt data on the stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html#cfn-kinesisvideo-stream-kmskeyid
*/
readonly kmsKeyId?: string;
/**
* The `MediaType` of the stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html#cfn-kinesisvideo-stream-mediatype
*/
readonly mediaType?: string;
/**
* The name of the stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html#cfn-kinesisvideo-stream-name
*/
readonly name?: string;
/**
* The configuration for stream storage, including the default storage tier for stream data.
*
* This configuration determines how stream data is stored and accessed, with different tiers offering varying levels of performance and cost optimization.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html#cfn-kinesisvideo-stream-streamstorageconfiguration
*/
readonly streamStorageConfiguration?: cdk.IResolvable | CfnStream.StreamStorageConfigurationProperty;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html#cfn-kinesisvideo-stream-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
export type { ISignalingChannelRef, SignalingChannelReference };
export type { IStreamRef, StreamReference };