UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,078 lines 74.6 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { aws_ivs as ivsRefs } from "../../interfaces"; import { ChannelReference, EncoderConfigurationReference, IChannelRef, IEncoderConfigurationRef, IIngestConfigurationRef, IngestConfigurationReference, IPlaybackKeyPairRef, IPlaybackRestrictionPolicyRef, IPublicKeyRef, IRecordingConfigurationRef, IStageRef, IStorageConfigurationRef, IStreamKeyRef, PlaybackKeyPairReference, PlaybackRestrictionPolicyReference, PublicKeyReference, RecordingConfigurationReference, StageReference, StorageConfigurationReference, StreamKeyReference } from "../../interfaces/generated/aws-ivs-interfaces.generated"; /** * The `AWS::IVS::Channel` resource specifies an channel. * * A channel stores configuration information related to your live stream. For more information, see [CreateChannel](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/API_CreateChannel.html) in the *Amazon IVS Low-Latency Streaming API Reference* . * * > By default, the IVS API CreateChannel endpoint creates a stream key in addition to a channel. The Channel resource *does not* create a stream key; to create a stream key, use the StreamKey resource instead. * * @cloudformationResource AWS::IVS::Channel * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html */ export declare class CfnChannel extends cdk.CfnResource implements cdk.IInspectable, IChannelRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnChannel 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): CfnChannel; /** * Checks whether the given object is a CfnChannel */ static isCfnChannel(x: any): x is CfnChannel; static arnForChannel(resource: IChannelRef): string; /** * The channel ARN. For example: `arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh` * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software. * * For example: `a1b2c3d4e5f6.global-contribute.live-video.net` * * @cloudformationAttribute IngestEndpoint */ readonly attrIngestEndpoint: string; /** * Channel playback URL. For example: `https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8` * * @cloudformationAttribute PlaybackUrl */ readonly attrPlaybackUrl: string; /** * Whether the channel is authorized. */ authorized?: boolean | cdk.IResolvable; /** * Indicates which content-packaging format is used (MPEG-TS or fMP4). */ containerFormat?: string; /** * Whether the channel allows insecure RTMP ingest. */ insecureIngest?: boolean | cdk.IResolvable; /** * Channel latency mode. Valid values:. */ latencyMode?: string; /** * Object specifying multitrack input configuration. */ multitrackInputConfiguration?: cdk.IResolvable | CfnChannel.MultitrackInputConfigurationProperty; /** * Channel name. */ name?: string; /** * An optional transcode preset for the channel. */ preset?: string; /** * The ARN of a RecordingConfiguration resource. */ recordingConfigurationArn?: 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>; /** * The channel type, which determines the allowable resolution and bitrate. */ type?: string; /** * Create a new `AWS::IVS::Channel`. * * @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?: CfnChannelProps); get channelRef(): ChannelReference; 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 CfnChannel { /** * A complex type that specifies multitrack input configuration. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html */ interface MultitrackInputConfigurationProperty { /** * Indicates whether multitrack input is enabled. * * Can be set to `true` only if channel type is `STANDARD` . Setting `enabled` to `true` with any other channel type will cause an exception. If `true` , then `policy` , `maximumResolution` , and `containerFormat` are required, and `containerFormat` must be set to `FRAGMENTED_MP4` . Default: `false` . * * @default - false * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html#cfn-ivs-channel-multitrackinputconfiguration-enabled */ readonly enabled?: boolean | cdk.IResolvable; /** * Maximum resolution for multitrack input. * * Required if `enabled` is `true` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html#cfn-ivs-channel-multitrackinputconfiguration-maximumresolution */ readonly maximumResolution?: string; /** * Indicates whether multitrack input is allowed or required. * * Required if `enabled` is `true` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html#cfn-ivs-channel-multitrackinputconfiguration-policy */ readonly policy?: string; } } /** * Properties for defining a `CfnChannel` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html */ export interface CfnChannelProps { /** * Whether the channel is authorized. * * *Default* : `false` * * @default - false * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-authorized */ readonly authorized?: boolean | cdk.IResolvable; /** * Indicates which content-packaging format is used (MPEG-TS or fMP4). * * If `multitrackInputConfiguration` is specified and `enabled` is `true` , then `containerFormat` is required and must be set to `FRAGMENTED_MP4` . Otherwise, `containerFormat` may be set to `TS` or `FRAGMENTED_MP4` . Default: `TS` . * * @default - "TS" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-containerformat */ readonly containerFormat?: string; /** * Whether the channel allows insecure RTMP ingest. * * *Default* : `false` * * @default - false * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-insecureingest */ readonly insecureIngest?: boolean | cdk.IResolvable; /** * Channel latency mode. Valid values:. * * - `NORMAL` : Use NORMAL to broadcast and deliver live video up to Full HD. * - `LOW` : Use LOW for near real-time interactions with viewers. * * > In the console, `LOW` and `NORMAL` correspond to `Ultra-low` and `Standard` , respectively. * * *Default* : `LOW` * * @default - "LOW" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-latencymode */ readonly latencyMode?: string; /** * Object specifying multitrack input configuration. * * Default: no multitrack input configuration is specified. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-multitrackinputconfiguration */ readonly multitrackInputConfiguration?: cdk.IResolvable | CfnChannel.MultitrackInputConfigurationProperty; /** * Channel name. * * @default - "-" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-name */ readonly name?: string; /** * An optional transcode preset for the channel. * * This is selectable only for `ADVANCED_HD` and `ADVANCED_SD` channel types. For those channel types, the default preset is `HIGHER_BANDWIDTH_DELIVERY` . For other channel types ( `BASIC` and `STANDARD` ), `preset` is the empty string (""). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-preset */ readonly preset?: string; /** * The ARN of a RecordingConfiguration resource. * * An empty string indicates that recording is disabled for the channel. A RecordingConfiguration ARN indicates that recording is enabled using the specified recording configuration. See the [RecordingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html) resource for more information and an example. * * *Default* : "" (empty string, recording is disabled) * * @default - "" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-recordingconfigurationarn */ readonly recordingConfigurationArn?: ivsRefs.IRecordingConfigurationRef | 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-ivs-channel-tag.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-tags */ readonly tags?: Array<cdk.CfnTag>; /** * The channel type, which determines the allowable resolution and bitrate. * * *If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately.* For details, see [Channel Types](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/channel-types.html) . * * *Default* : `STANDARD` * * @default - "STANDARD" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-type */ readonly type?: string; } /** * The `AWS::IVS::PlaybackKeyPair` resource specifies an playback key pair. * * uses a public playback key to validate playback tokens that have been signed with the corresponding private key. For more information, see [Setting Up Private Channels](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/private-channels.html) in the *Amazon IVS Low-Latency Streaming User Guide* . * * @cloudformationResource AWS::IVS::PlaybackKeyPair * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html */ export declare class CfnPlaybackKeyPair extends cdk.CfnResource implements cdk.IInspectable, IPlaybackKeyPairRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnPlaybackKeyPair 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): CfnPlaybackKeyPair; /** * Checks whether the given object is a CfnPlaybackKeyPair */ static isCfnPlaybackKeyPair(x: any): x is CfnPlaybackKeyPair; static arnForPlaybackKeyPair(resource: IPlaybackKeyPairRef): string; /** * Key-pair ARN. For example: `arn:aws:ivs:us-west-2:693991300569:playback-key/f99cde61-c2b0-4df3-8941-ca7d38acca1a` * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * Key-pair identifier. For example: `98:0d:1a:a0:19:96:1e:ea:0a:0a:2c:9a:42:19:2b:e7` * * @cloudformationAttribute Fingerprint */ readonly attrFingerprint: string; /** * Playback-key-pair name. */ name?: string; /** * The public portion of a customer-generated key pair. */ publicKeyMaterial?: 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>; /** * Create a new `AWS::IVS::PlaybackKeyPair`. * * @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?: CfnPlaybackKeyPairProps); get playbackKeyPairRef(): PlaybackKeyPairReference; 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 `CfnPlaybackKeyPair` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html */ export interface CfnPlaybackKeyPairProps { /** * Playback-key-pair name. * * The value does not need to be unique. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html#cfn-ivs-playbackkeypair-name */ readonly name?: string; /** * The public portion of a customer-generated key pair. * * Note that this field is required to create the AWS::IVS::PlaybackKeyPair resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html#cfn-ivs-playbackkeypair-publickeymaterial */ readonly publicKeyMaterial?: 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-ivs-playbackkeypair-tag.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html#cfn-ivs-playbackkeypair-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::IVS::RecordingConfiguration` resource specifies an recording configuration. * * A recording configuration enables the recording of a channel’s live streams to a data store. Multiple channels can reference the same recording configuration. For more information, see [RecordingConfiguration](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/API_RecordingConfiguration.html) in the *Amazon IVS Low-Latency Streaming API Reference* . * * @cloudformationResource AWS::IVS::RecordingConfiguration * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html */ export declare class CfnRecordingConfiguration extends cdk.CfnResource implements cdk.IInspectable, IRecordingConfigurationRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnRecordingConfiguration 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): CfnRecordingConfiguration; /** * Checks whether the given object is a CfnRecordingConfiguration */ static isCfnRecordingConfiguration(x: any): x is CfnRecordingConfiguration; static arnForRecordingConfiguration(resource: IRecordingConfigurationRef): string; /** * The recording configuration ARN. For example: `arn:aws:ivs:us-west-2:123456789012:recording-configuration/abcdABCDefgh` * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * Indicates the current state of the recording configuration. When the state is `ACTIVE` , the configuration is ready to record a channel stream. Valid values: `CREATING` | `CREATE_FAILED` | `ACTIVE` . * * @cloudformationAttribute State */ readonly attrState: string; /** * A destination configuration describes an S3 bucket where recorded video will be stored. */ destinationConfiguration: CfnRecordingConfiguration.DestinationConfigurationProperty | cdk.IResolvable; /** * Recording-configuration name. */ name?: string; /** * If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together. */ recordingReconnectWindowSeconds?: number; /** * A rendition configuration describes which renditions should be recorded for a stream. */ renditionConfiguration?: cdk.IResolvable | CfnRecordingConfiguration.RenditionConfigurationProperty; /** * 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 thumbnail configuration enables/disables the recording of thumbnails for a live session and controls the interval at which thumbnails are generated for the live session. */ thumbnailConfiguration?: cdk.IResolvable | CfnRecordingConfiguration.ThumbnailConfigurationProperty; /** * Create a new `AWS::IVS::RecordingConfiguration`. * * @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: CfnRecordingConfigurationProps); get recordingConfigurationRef(): RecordingConfigurationReference; 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 CfnRecordingConfiguration { /** * The DestinationConfiguration property type describes the location where recorded videos will be stored. * * Each member represents a type of destination configuration. For recording, you define one and only one type of destination configuration. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-destinationconfiguration.html */ interface DestinationConfigurationProperty { /** * An S3 destination configuration where recorded videos will be stored. * * See the [S3DestinationConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-s3destinationconfiguration.html) property type for more information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-destinationconfiguration.html#cfn-ivs-recordingconfiguration-destinationconfiguration-s3 */ readonly s3?: cdk.IResolvable | CfnRecordingConfiguration.S3DestinationConfigurationProperty; } /** * The S3DestinationConfiguration property type describes an S3 location where recorded videos will be stored. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-s3destinationconfiguration.html */ interface S3DestinationConfigurationProperty { /** * Location (S3 bucket name) where recorded videos will be stored. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-s3destinationconfiguration.html#cfn-ivs-recordingconfiguration-s3destinationconfiguration-bucketname */ readonly bucketName: string; } /** * The RenditionConfiguration property type describes which renditions should be recorded for a stream. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-renditionconfiguration.html */ interface RenditionConfigurationProperty { /** * A list of which renditions are recorded for a stream, if `renditionSelection` is `CUSTOM` ; * * otherwise, this field is irrelevant. The selected renditions are recorded if they are available during the stream. If a selected rendition is unavailable, the best available rendition is recorded. For details on the resolution dimensions of each rendition, see [Auto-Record to Amazon S3](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/record-to-s3.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-renditionconfiguration.html#cfn-ivs-recordingconfiguration-renditionconfiguration-renditions */ readonly renditions?: Array<string>; /** * The set of renditions are recorded for a stream. * * For `BASIC` channels, the `CUSTOM` value has no effect. If `CUSTOM` is specified, a set of renditions can be specified in the `renditions` field. Default: `ALL` . * * @default - "ALL" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-renditionconfiguration.html#cfn-ivs-recordingconfiguration-renditionconfiguration-renditionselection */ readonly renditionSelection?: string; } /** * The ThumbnailConfiguration property type describes a configuration of thumbnails for recorded video. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html */ interface ThumbnailConfigurationProperty { /** * Thumbnail recording mode. Valid values:. * * - `DISABLED` : Use DISABLED to disable the generation of thumbnails for recorded video. * - `INTERVAL` : Use INTERVAL to enable the generation of thumbnails for recorded video at a time interval controlled by the [TargetIntervalSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-targetintervalseconds) property. * * *Default* : `INTERVAL` * * @default - "INTERVAL" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-recordingmode */ readonly recordingMode?: string; /** * The desired resolution of recorded thumbnails for a stream. * * Thumbnails are recorded at the selected resolution if the corresponding rendition is available during the stream; otherwise, they are recorded at source resolution. For more information about resolution values and their corresponding height and width dimensions, see [Auto-Record to Amazon S3](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/record-to-s3.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-resolution */ readonly resolution?: string; /** * The format in which thumbnails are recorded for a stream. * * `SEQUENTIAL` records all generated thumbnails in a serial manner, to the media/thumbnails directory. `LATEST` saves the latest thumbnail in media/thumbnails/latest/thumb.jpg and overwrites it at the interval specified by `targetIntervalSeconds` . You can enable both `SEQUENTIAL` and `LATEST` . Default: `SEQUENTIAL` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-storage */ readonly storage?: Array<string>; /** * The targeted thumbnail-generation interval in seconds. This is configurable (and required) only if [RecordingMode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-recordingmode) is `INTERVAL` . * * > Setting a value for `TargetIntervalSeconds` does not guarantee that thumbnails are generated at the specified interval. For thumbnails to be generated at the `TargetIntervalSeconds` interval, the `IDR/Keyframe` value for the input video must be less than the `TargetIntervalSeconds` value. See [Amazon IVS Streaming Configuration](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/streaming-config.html) for information on setting `IDR/Keyframe` to the recommended value in video-encoder settings. * * *Default* : 60 * * @default - 60 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration-targetintervalseconds */ readonly targetIntervalSeconds?: number; } } /** * Properties for defining a `CfnRecordingConfiguration` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html */ export interface CfnRecordingConfigurationProps { /** * A destination configuration describes an S3 bucket where recorded video will be stored. * * See the DestinationConfiguration property type for more information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-destinationconfiguration */ readonly destinationConfiguration: CfnRecordingConfiguration.DestinationConfigurationProperty | cdk.IResolvable; /** * Recording-configuration name. * * The value does not need to be unique. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-name */ readonly name?: string; /** * If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together. * * *Default* : `0` * * @default - 0 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-recordingreconnectwindowseconds */ readonly recordingReconnectWindowSeconds?: number; /** * A rendition configuration describes which renditions should be recorded for a stream. * * See the RenditionConfiguration property type for more information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-renditionconfiguration */ readonly renditionConfiguration?: cdk.IResolvable | CfnRecordingConfiguration.RenditionConfigurationProperty; /** * 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-ivs-recordingconfiguration-tag.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-tags */ readonly tags?: Array<cdk.CfnTag>; /** * A thumbnail configuration enables/disables the recording of thumbnails for a live session and controls the interval at which thumbnails are generated for the live session. * * See the ThumbnailConfiguration property type for more information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-thumbnailconfiguration */ readonly thumbnailConfiguration?: cdk.IResolvable | CfnRecordingConfiguration.ThumbnailConfigurationProperty; } /** * The `AWS::IVS::StreamKey` resource specifies an stream key associated with the referenced channel. * * Use a stream key to initiate a live stream. * * @cloudformationResource AWS::IVS::StreamKey * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html */ export declare class CfnStreamKey extends cdk.CfnResource implements cdk.IInspectable, IStreamKeyRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnStreamKey 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): CfnStreamKey; /** * Checks whether the given object is a CfnStreamKey */ static isCfnStreamKey(x: any): x is CfnStreamKey; static arnForStreamKey(resource: IStreamKeyRef): string; /** * The stream-key ARN. For example: `arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6` * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The stream-key value. For example: `sk_us-west-2_abcdABCDefgh_567890abcdef` * * @cloudformationAttribute Value */ readonly attrValue: string; /** * Channel ARN for the stream. */ channelArn: 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>; /** * Create a new `AWS::IVS::StreamKey`. * * @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: CfnStreamKeyProps); get streamKeyRef(): StreamKeyReference; 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 `CfnStreamKey` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html */ export interface CfnStreamKeyProps { /** * Channel ARN for the stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html#cfn-ivs-streamkey-channelarn */ readonly channelArn: ivsRefs.IChannelRef | 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-ivs-streamkey-tag.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html#cfn-ivs-streamkey-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::IVS::EncoderConfiguration` resource specifies an encoder configuration. * * An encoder configuration describes a stream’s video configuration. For more information, see [Streaming Configuration](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/streaming-config.html) in the *Amazon IVS Low-Latency Streaming User Guide* . * * @cloudformationResource AWS::IVS::EncoderConfiguration * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html */ export declare class CfnEncoderConfiguration extends cdk.CfnResource implements cdk.IInspectable, IEncoderConfigurationRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnEncoderConfiguration 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): CfnEncoderConfiguration; /** * Checks whether the given object is a CfnEncoderConfiguration */ static isCfnEncoderConfiguration(x: any): x is CfnEncoderConfiguration; static arnForEncoderConfiguration(resource: IEncoderConfigurationRef): string; /** * The encoder-configuration ARN. For example: `arn:aws:ivs:us-west-2:123456789012:encoder-configuration/abcdABCDefgh` * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * Encoder cnfiguration name. */ name?: string; /** * An array of key-value pairs to apply to this resource. */ tags?: Array<cdk.CfnTag>; /** * Video configuration. */ video?: cdk.IResolvable | CfnEncoderConfiguration.VideoProperty; /** * Create a new `AWS::IVS::EncoderConfiguration`. * * @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?: CfnEncoderConfigurationProps); get encoderConfigurationRef(): EncoderConfigurationReference; 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 CfnEncoderConfiguration { /** * The Video property type describes a stream's video configuration. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html */ interface VideoProperty { /** * Bitrate for generated output, in bps. * * Default: 2500000. * * @default - 2500000 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html#cfn-ivs-encoderconfiguration-video-bitrate */ readonly bitrate?: number; /** * Video frame rate, in fps. * * Default: 30. * * @default - 30 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html#cfn-ivs-encoderconfiguration-video-framerate */ readonly framerate?: number; /** * Video-resolution height. * * Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720. * * @default - 720 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html#cfn-ivs-encoderconfiguration-video-height */ readonly height?: number; /** * Video-resolution width. * * Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280. * * @default - 1280 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html#cfn-ivs-encoderconfiguration-video-width */ readonly width?: number; } } /** * Properties for defining a `CfnEncoderConfiguration` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html */ export interface CfnEncoderConfigurationProps { /** * Encoder cnfiguration name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html#cfn-ivs-encoderconfiguration-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-ivs-encoderconfiguration-tag.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html#cfn-ivs-encoderconfiguration-tags */ readonly tags?: Array<cdk.CfnTag>; /** * Video configuration. * * Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps. See the [Video](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html) property type for more information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html#cfn-ivs-encoderconfiguration-video */ readonly video?: cdk.IResolvable | CfnEncoderConfiguration.VideoProperty; } /** * The `AWS::IVS::IngestConfiguration` resource specifies an ingest protocol to be used for a stage. * * For more information, see [Stream Ingest](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-stream-ingest.html) in the *Amazon IVS Real-Time Streaming User Guide* . * * @cloudformationResource AWS::IVS::IngestConfiguration * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html */ export declare class CfnIngestConfiguration extends cdk.CfnResource implements cdk.IInspectable, IIngestConfigurationRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnIngestConfiguration 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): CfnIngestConfiguration; /** * Checks whether the given object is a CfnIngestConfiguration */ static isCfnIngestConfiguration(x: any): x is CfnIngestConfiguration; static arnForIngestConfiguration(resource: IIngestConfigurationRef): string; /** * The ingest-configuration ARN. For example: `arn:aws:ivs:us-west-2:123456789012:ingest-configuration/abcdABCDefgh` * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * ID of the participant within the stage. For example: `abCDEf12GHIj` * * @cloudformationAttribute ParticipantId */ readonly attrParticipantId: string; /** * State of the ingest configuration. It is `ACTIVE` if a publisher currently is publishing to the stage associated with the ingest configuration. Valid values: `ACTIVE` | `INACTIVE` . * * @cloudformationAttribute State */ readonly attrState: string; /** * Ingest-key value for the RTMP(S) protocol. For example: `skSKABCDefgh` * * @cloudformationAttribute StreamKey */ readonly attrStreamKey: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * Type of ingest protocol that the user employs for broadcasting. */ ingestProtocol?: string; /** * Whether the channel allows insecure RTMP ingest. */ insecureIngest?: boolean | cdk.IResolvable; /** * Ingest name. */ name?: string; /** * ARN of the stage with which the IngestConfiguration is associated. */ stageArn?: string; /** * An array of key-value pairs to apply to this resource. */ tags?: Array<cdk.CfnTag>; /** * Customer-assigned name to help identify the participant using the IngestConfiguration; */ userId?: string; /** * Create a new `AWS::IVS::IngestConfiguration`. * * @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?: CfnIngestConfigurationProps); get ingestConfigurationRef(): IngestConfigurationReference; 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 `CfnIngestConfiguration` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html */ export interface CfnIngestConfigurationProps { /** * Type of ingest protocol that the user employs for broadcasting. * * @default - "RTMPS" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html#cfn-ivs-ingestconfiguration-ingestprotocol */ readonly ingestProtocol?: string; /** * Whether the channel allows insecure RTMP ingest. * * Default: `false` . * * @default - false * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html#cfn-ivs-ingestconfiguration-insecureingest */ readonly insecureIngest?: boolean | cdk.IResolvable; /** * Ingest name. * * @default - "-" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html#cfn-ivs-ingestconfiguration-name */ readonly name?: string; /** * ARN of the stage with which the IngestConfiguration is associated. * * @default - "" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html#cfn-ivs-ingestconfiguration-stagearn */ readonly stageArn?: string; /** * An array of key-value pairs to apply to this resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html#cfn-ivs-ingestconfiguration-tags */ readonly tags?: Array<cdk.CfnTag>; /** * Customer-assigned name to help identify the participant using the IngestConfiguration; * * this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. *This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html#cfn-ivs-ingestconfiguration-userid */ readonly userId?: string; } /** * The `AWS::IVS::PlaybackRestrictionPolicy` resource specifies an playback restriction policy. * * A playback restriction policy constrains playback by country and/or origin sites. For more information, see [Undesired Content and Viewers](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/undesired-content.html) in the *Amazon IVS Low-Latency Streaming User Guide* . * * @cloudformationResource AWS::IVS::PlaybackRestrictionPolicy * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html */ export declare class CfnPlaybackRestrictionPolicy extends cdk.CfnResource implements cdk.IInspectable, IPlaybackRestrictionPolicyRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnPlaybackRestrictionPolicy 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): CfnPlaybackRestrictionPolicy; /** * Checks whether the given object is a CfnPlaybackRestrictionPolicy */ static isCfnPlaybackRestrictionPolicy(x: any): x is CfnPlaybackRestrictionPolicy; static arnForPlaybackRestrictionPolicy(resource: IPlaybackRestrictionPolicyRef): string; /** * The playback-restriction-policy ARN. For example: `arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/abcdABCDefgh` * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * A list of country codes that control geoblocking restrictions. */ allowedCountries?: Array<string>; /** * A list of origin sites that control CORS restriction. */ allowedOrigins?: Array<string>; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * Whether channel playback is constrained by the origin site. */ enableStrictOriginEnforcement?: boolean | cdk.IResolvable; /** * Playback-restriction-policy name. */ name?: string; /** * An array of key-value pairs to apply to this resource. */ tags?: Array<cdk.CfnTag>; /** * Create a new `AWS::IVS::PlaybackRestrictionPolicy`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Res