aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,065 lines • 125 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { AssetReference, ChannelReference, IAssetRef, IChannelRef, IOriginEndpointRef, IPackagingConfigurationRef, IPackagingGroupRef, OriginEndpointReference, PackagingConfigurationReference, PackagingGroupReference } from "../../interfaces/generated/aws-mediapackage-interfaces.generated";
/**
* Creates an asset to ingest VOD content.
*
* After it's created, the asset starts ingesting content and generates playback URLs for the packaging configurations associated with it. When ingest is complete, downstream devices use the appropriate URL to request VOD content from AWS Elemental MediaPackage .
*
* @cloudformationResource AWS::MediaPackage::Asset
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html
*/
export declare class CfnAsset extends cdk.CfnResource implements cdk.IInspectable, IAssetRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnAsset 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): CfnAsset;
/**
* Checks whether the given object is a CfnAsset
*/
static isCfnAsset(x: any): x is CfnAsset;
static arnForAsset(resource: IAssetRef): string;
/**
* List of playback endpoints that are available for this asset.
*/
private _egressEndpoints?;
/**
* Unique identifier that you assign to the asset.
*/
private _id;
/**
* The ID of the packaging group associated with this asset.
*/
private _packagingGroupId;
/**
* Unique identifier for this asset, as it's configured in the key provider service.
*/
private _resourceId?;
/**
* The ARN for the source content in Amazon S3.
*/
private _sourceArn;
/**
* The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored.
*/
private _sourceRoleArn;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The tags to assign to the asset.
*/
private _tagsRaw?;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::MediaPackage::Asset`.
*
* @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: CfnAssetProps);
get assetRef(): AssetReference;
/**
* List of playback endpoints that are available for this asset.
*/
get egressEndpoints(): Array<CfnAsset.EgressEndpointProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
/**
* List of playback endpoints that are available for this asset.
*/
set egressEndpoints(value: Array<CfnAsset.EgressEndpointProperty | cdk.IResolvable> | cdk.IResolvable | undefined);
/**
* Unique identifier that you assign to the asset.
*/
get id(): string;
/**
* Unique identifier that you assign to the asset.
*/
set id(value: string);
/**
* The ID of the packaging group associated with this asset.
*/
get packagingGroupId(): string;
/**
* The ID of the packaging group associated with this asset.
*/
set packagingGroupId(value: string);
/**
* Unique identifier for this asset, as it's configured in the key provider service.
*/
get resourceId(): string | undefined;
/**
* Unique identifier for this asset, as it's configured in the key provider service.
*/
set resourceId(value: string | undefined);
/**
* The ARN for the source content in Amazon S3.
*/
get sourceArn(): string;
/**
* The ARN for the source content in Amazon S3.
*/
set sourceArn(value: string);
/**
* The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored.
*/
get sourceRoleArn(): string;
/**
* The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored.
*/
set sourceRoleArn(value: string);
/**
* The tags to assign to the asset.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* The tags to assign to the asset.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
/**
* The Amazon Resource Name (ARN) for the asset. You can get this from the response to any request to the asset.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* The date and time that the asset was initially submitted for ingest.
*
* @cloudformationAttribute CreatedAt
*/
get attrCreatedAt(): string;
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 CfnAsset {
/**
* The playback endpoint for a packaging configuration on an asset.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html
*/
interface EgressEndpointProperty {
/**
* The ID of a packaging configuration that's applied to this asset.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-packagingconfigurationid
*/
readonly packagingConfigurationId: string;
/**
* The URL that's used to request content from this endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-url
*/
readonly url: string;
}
}
/**
* Properties for defining a `CfnAsset`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html
*/
export interface CfnAssetProps {
/**
* List of playback endpoints that are available for this asset.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-egressendpoints
*/
readonly egressEndpoints?: Array<CfnAsset.EgressEndpointProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Unique identifier that you assign to the asset.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-id
*/
readonly id: string;
/**
* The ID of the packaging group associated with this asset.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-packaginggroupid
*/
readonly packagingGroupId: string;
/**
* Unique identifier for this asset, as it's configured in the key provider service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-resourceid
*/
readonly resourceId?: string;
/**
* The ARN for the source content in Amazon S3.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-sourcearn
*/
readonly sourceArn: string;
/**
* The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored.
*
* Valid format: arn:aws:iam::{accountID}:role/{name}
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-sourcerolearn
*/
readonly sourceRoleArn: string;
/**
* The tags to assign to the asset.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Creates a channel to receive content.
*
* After it's created, a channel provides static input URLs. These URLs remain the same throughout the lifetime of the channel, regardless of any failures or upgrades that might occur. Use these URLs to configure the outputs of your upstream encoder.
*
* @cloudformationResource AWS::MediaPackage::Channel
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-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;
/**
* Any descriptive information that you want to add to the channel for future identification purposes.
*/
private _description?;
/**
* Configures egress access logs.
*/
private _egressAccessLogs?;
/**
* The input URL where the source stream should be sent.
*/
private _hlsIngest?;
/**
* Unique identifier that you assign to the channel.
*/
private _id;
/**
* Configures ingress access logs.
*/
private _ingressAccessLogs?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The tags to assign to the channel.
*/
private _tagsRaw?;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::MediaPackage::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;
/**
* Any descriptive information that you want to add to the channel for future identification purposes.
*/
get description(): string | undefined;
/**
* Any descriptive information that you want to add to the channel for future identification purposes.
*/
set description(value: string | undefined);
/**
* Configures egress access logs.
*/
get egressAccessLogs(): cdk.IResolvable | CfnChannel.LogConfigurationProperty | undefined;
/**
* Configures egress access logs.
*/
set egressAccessLogs(value: cdk.IResolvable | CfnChannel.LogConfigurationProperty | undefined);
/**
* The input URL where the source stream should be sent.
*/
get hlsIngest(): CfnChannel.HlsIngestProperty | cdk.IResolvable | undefined;
/**
* The input URL where the source stream should be sent.
*/
set hlsIngest(value: CfnChannel.HlsIngestProperty | cdk.IResolvable | undefined);
/**
* Unique identifier that you assign to the channel.
*/
get id(): string;
/**
* Unique identifier that you assign to the channel.
*/
set id(value: string);
/**
* Configures ingress access logs.
*/
get ingressAccessLogs(): cdk.IResolvable | CfnChannel.LogConfigurationProperty | undefined;
/**
* Configures ingress access logs.
*/
set ingressAccessLogs(value: cdk.IResolvable | CfnChannel.LogConfigurationProperty | undefined);
/**
* The tags to assign to the channel.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* The tags to assign to the channel.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
/**
* The channel's unique system-generated resource name, based on the AWS record.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
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 {
/**
* The access log configuration parameters for your channel.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-logconfiguration.html
*/
interface LogConfigurationProperty {
/**
* Sets a custom Amazon CloudWatch log group name.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-logconfiguration.html#cfn-mediapackage-channel-logconfiguration-loggroupname
*/
readonly logGroupName?: string;
}
/**
* HLS ingest configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-hlsingest.html
*/
interface HlsIngestProperty {
/**
* The input URL where the source stream should be sent.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-hlsingest.html#cfn-mediapackage-channel-hlsingest-ingestendpoints
*/
readonly ingestEndpoints?: Array<CfnChannel.IngestEndpointProperty | cdk.IResolvable> | cdk.IResolvable;
}
/**
* An endpoint for ingesting source content for a channel.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html
*/
interface IngestEndpointProperty {
/**
* The endpoint identifier.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-id
*/
readonly id?: string;
/**
* The system-generated password for WebDAV input authentication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-password
*/
readonly password?: string;
/**
* The input URL where the source stream should be sent.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-url
*/
readonly url?: string;
/**
* The system-generated username for WebDAV input authentication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-username
*/
readonly username?: string;
}
}
/**
* Properties for defining a `CfnChannel`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html
*/
export interface CfnChannelProps {
/**
* Any descriptive information that you want to add to the channel for future identification purposes.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-description
*/
readonly description?: string;
/**
* Configures egress access logs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-egressaccesslogs
*/
readonly egressAccessLogs?: cdk.IResolvable | CfnChannel.LogConfigurationProperty;
/**
* The input URL where the source stream should be sent.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-hlsingest
*/
readonly hlsIngest?: CfnChannel.HlsIngestProperty | cdk.IResolvable;
/**
* Unique identifier that you assign to the channel.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-id
*/
readonly id: string;
/**
* Configures ingress access logs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-ingressaccesslogs
*/
readonly ingressAccessLogs?: cdk.IResolvable | CfnChannel.LogConfigurationProperty;
/**
* The tags to assign to the channel.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Create an endpoint on an AWS Elemental MediaPackage channel.
*
* An endpoint represents a single delivery point of a channel, and defines content output handling through various components, such as packaging protocols, DRM and encryption integration, and more.
*
* After it's created, an endpoint provides a fixed public URL. This URL remains the same throughout the lifetime of the endpoint, regardless of any failures or upgrades that might occur. Integrate the URL with a downstream CDN (such as Amazon CloudFront) or playback device.
*
* @cloudformationResource AWS::MediaPackage::OriginEndpoint
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html
*/
export declare class CfnOriginEndpoint extends cdk.CfnResource implements cdk.IInspectable, IOriginEndpointRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnOriginEndpoint 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): CfnOriginEndpoint;
/**
* Checks whether the given object is a CfnOriginEndpoint
*/
static isCfnOriginEndpoint(x: any): x is CfnOriginEndpoint;
static arnForOriginEndpoint(resource: IOriginEndpointRef): string;
/**
* Parameters for CDN authorization.
*/
private _authorization?;
/**
* The ID of the channel associated with this endpoint.
*/
private _channelId;
/**
* Parameters for Common Media Application Format (CMAF) packaging.
*/
private _cmafPackage?;
/**
* Parameters for DASH packaging.
*/
private _dashPackage?;
/**
* Any descriptive information that you want to add to the endpoint for future identification purposes.
*/
private _description?;
/**
* Parameters for Apple HLS packaging.
*/
private _hlsPackage?;
/**
* The manifest ID is required and must be unique within the OriginEndpoint.
*/
private _id;
/**
* A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
*/
private _manifestName?;
/**
* Parameters for Microsoft Smooth Streaming packaging.
*/
private _mssPackage?;
/**
* Controls video origination from this endpoint.
*/
private _origination?;
/**
* Maximum duration (seconds) of content to retain for startover playback.
*/
private _startoverWindowSeconds?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The tags to assign to the endpoint.
*/
private _tagsRaw?;
/**
* Minimum duration (seconds) of delay to enforce on the playback of live content.
*/
private _timeDelaySeconds?;
/**
* The IP addresses that can access this endpoint.
*/
private _whitelist?;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::MediaPackage::OriginEndpoint`.
*
* @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: CfnOriginEndpointProps);
get originEndpointRef(): OriginEndpointReference;
/**
* Parameters for CDN authorization.
*/
get authorization(): CfnOriginEndpoint.AuthorizationProperty | cdk.IResolvable | undefined;
/**
* Parameters for CDN authorization.
*/
set authorization(value: CfnOriginEndpoint.AuthorizationProperty | cdk.IResolvable | undefined);
/**
* The ID of the channel associated with this endpoint.
*/
get channelId(): string;
/**
* The ID of the channel associated with this endpoint.
*/
set channelId(value: string);
/**
* Parameters for Common Media Application Format (CMAF) packaging.
*/
get cmafPackage(): CfnOriginEndpoint.CmafPackageProperty | cdk.IResolvable | undefined;
/**
* Parameters for Common Media Application Format (CMAF) packaging.
*/
set cmafPackage(value: CfnOriginEndpoint.CmafPackageProperty | cdk.IResolvable | undefined);
/**
* Parameters for DASH packaging.
*/
get dashPackage(): CfnOriginEndpoint.DashPackageProperty | cdk.IResolvable | undefined;
/**
* Parameters for DASH packaging.
*/
set dashPackage(value: CfnOriginEndpoint.DashPackageProperty | cdk.IResolvable | undefined);
/**
* Any descriptive information that you want to add to the endpoint for future identification purposes.
*/
get description(): string | undefined;
/**
* Any descriptive information that you want to add to the endpoint for future identification purposes.
*/
set description(value: string | undefined);
/**
* Parameters for Apple HLS packaging.
*/
get hlsPackage(): CfnOriginEndpoint.HlsPackageProperty | cdk.IResolvable | undefined;
/**
* Parameters for Apple HLS packaging.
*/
set hlsPackage(value: CfnOriginEndpoint.HlsPackageProperty | cdk.IResolvable | undefined);
/**
* The manifest ID is required and must be unique within the OriginEndpoint.
*/
get id(): string;
/**
* The manifest ID is required and must be unique within the OriginEndpoint.
*/
set id(value: string);
/**
* A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
*/
get manifestName(): string | undefined;
/**
* A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
*/
set manifestName(value: string | undefined);
/**
* Parameters for Microsoft Smooth Streaming packaging.
*/
get mssPackage(): cdk.IResolvable | CfnOriginEndpoint.MssPackageProperty | undefined;
/**
* Parameters for Microsoft Smooth Streaming packaging.
*/
set mssPackage(value: cdk.IResolvable | CfnOriginEndpoint.MssPackageProperty | undefined);
/**
* Controls video origination from this endpoint.
*/
get origination(): string | undefined;
/**
* Controls video origination from this endpoint.
*/
set origination(value: string | undefined);
/**
* Maximum duration (seconds) of content to retain for startover playback.
*/
get startoverWindowSeconds(): number | undefined;
/**
* Maximum duration (seconds) of content to retain for startover playback.
*/
set startoverWindowSeconds(value: number | undefined);
/**
* The tags to assign to the endpoint.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* The tags to assign to the endpoint.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
/**
* Minimum duration (seconds) of delay to enforce on the playback of live content.
*/
get timeDelaySeconds(): number | undefined;
/**
* Minimum duration (seconds) of delay to enforce on the playback of live content.
*/
set timeDelaySeconds(value: number | undefined);
/**
* The IP addresses that can access this endpoint.
*/
get whitelist(): Array<string> | undefined;
/**
* The IP addresses that can access this endpoint.
*/
set whitelist(value: Array<string> | undefined);
/**
* The endpoint's unique system-generated resource name, based on the AWS record.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* URL for the key provider’s key retrieval API endpoint. Must start with https://.
*
* @cloudformationAttribute Url
*/
get attrUrl(): string;
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 CfnOriginEndpoint {
/**
* Parameters for Microsoft Smooth Streaming packaging.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html
*/
interface MssPackageProperty {
/**
* Parameters for encrypting content.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-encryption
*/
readonly encryption?: cdk.IResolvable | CfnOriginEndpoint.MssEncryptionProperty;
/**
* Time window (in seconds) contained in each manifest.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-manifestwindowseconds
*/
readonly manifestWindowSeconds?: number;
/**
* Duration (in seconds) of each fragment.
*
* Actual fragments are rounded to the nearest multiple of the source fragment duration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-segmentdurationseconds
*/
readonly segmentDurationSeconds?: number;
/**
* Limitations for outputs from the endpoint, based on the video bitrate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-streamselection
*/
readonly streamSelection?: cdk.IResolvable | CfnOriginEndpoint.StreamSelectionProperty;
}
/**
* Limitations for outputs from the endpoint, based on the video bitrate.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html
*/
interface StreamSelectionProperty {
/**
* The upper limit of the bitrates that this endpoint serves.
*
* If the video track exceeds this threshold, then AWS Elemental MediaPackage excludes it from output. If you don't specify a value, it defaults to 2147483647 bits per second.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-maxvideobitspersecond
*/
readonly maxVideoBitsPerSecond?: number;
/**
* The lower limit of the bitrates that this endpoint serves.
*
* If the video track is below this threshold, then AWS Elemental MediaPackage excludes it from output. If you don't specify a value, it defaults to 0 bits per second.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-minvideobitspersecond
*/
readonly minVideoBitsPerSecond?: number;
/**
* Order in which the different video bitrates are presented to the player.
*
* Valid values: `ORIGINAL` , `VIDEO_BITRATE_ASCENDING` , `VIDEO_BITRATE_DESCENDING` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html#cfn-mediapackage-originendpoint-streamselection-streamorder
*/
readonly streamOrder?: string;
}
/**
* Holds encryption information so that access to the content can be controlled by a DRM solution.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-mssencryption.html
*/
interface MssEncryptionProperty {
/**
* Parameters for the SPEKE key provider.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-mssencryption.html#cfn-mediapackage-originendpoint-mssencryption-spekekeyprovider
*/
readonly spekeKeyProvider: cdk.IResolvable | CfnOriginEndpoint.SpekeKeyProviderProperty;
}
/**
* Key provider settings for DRM.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html
*/
interface SpekeKeyProviderProperty {
/**
* The Amazon Resource Name (ARN) for the certificate that you imported to Certificate Manager to add content key encryption to this endpoint.
*
* For this feature to work, your DRM key provider must support content key encryption.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-certificatearn
*/
readonly certificateArn?: string;
/**
* Use `encryptionContractConfiguration` to configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-encryptioncontractconfiguration
*/
readonly encryptionContractConfiguration?: CfnOriginEndpoint.EncryptionContractConfigurationProperty | cdk.IResolvable;
/**
* Unique identifier for this endpoint, as it is configured in the key provider service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-resourceid
*/
readonly resourceId: string;
/**
* The ARN for the IAM role that's granted by the key provider to provide access to the key provider API.
*
* This role must have a trust policy that allows AWS Elemental MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Valid format: arn:aws:iam::{accountID}:role/{name}
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-rolearn
*/
readonly roleArn: string;
/**
* List of unique identifiers for the DRM systems to use, as defined in the CPIX specification.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-systemids
*/
readonly systemIds: Array<string>;
/**
* URL for the key provider’s key retrieval API endpoint.
*
* Must start with https://.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html#cfn-mediapackage-originendpoint-spekekeyprovider-url
*/
readonly url: string;
}
/**
* Use `encryptionContractConfiguration` to configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. The encryption contract defines the content keys used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use. For more information about these presets, see [SPEKE Version 2.0 Presets](https://docs.aws.amazon.com/mediapackage/latest/ug/drm-content-speke-v2-presets.html) .
*
* Note the following considerations when using `encryptionContractConfiguration` :
*
* - You can use `encryptionContractConfiguration` for DASH endpoints that use SPEKE Version 2.0. SPEKE Version 2.0 relies on the CPIX Version 2.3 specification.
* - You cannot combine an `UNENCRYPTED` preset with `UNENCRYPTED` or `SHARED` presets across `presetSpeke20Audio` and `presetSpeke20Video` .
* - When you use a `SHARED` preset, you must use it for both `presetSpeke20Audio` and `presetSpeke20Video` .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-encryptioncontractconfiguration.html
*/
interface EncryptionContractConfigurationProperty {
/**
* A collection of audio encryption presets.
*
* Value description:
*
* - `PRESET-AUDIO-1` - Use one content key to encrypt all of the audio tracks in your stream.
* - `PRESET-AUDIO-2` - Use one content key to encrypt all of the stereo audio tracks and one content key to encrypt all of the multichannel audio tracks.
* - `PRESET-AUDIO-3` - Use one content key to encrypt all of the stereo audio tracks, one content key to encrypt all of the multichannel audio tracks with 3 to 6 channels, and one content key to encrypt all of the multichannel audio tracks with more than 6 channels.
* - `SHARED` - Use the same content key for all of the audio and video tracks in your stream.
* - `UNENCRYPTED` - Don't encrypt any of the audio tracks in your stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-encryptioncontractconfiguration.html#cfn-mediapackage-originendpoint-encryptioncontractconfiguration-presetspeke20audio
*/
readonly presetSpeke20Audio: string;
/**
* A collection of video encryption presets.
*
* Value description:
*
* - `PRESET-VIDEO-1` - Use one content key to encrypt all of the video tracks in your stream.
* - `PRESET-VIDEO-2` - Use one content key to encrypt all of the SD video tracks and one content key for all HD and higher resolutions video tracks.
* - `PRESET-VIDEO-3` - Use one content key to encrypt all of the SD video tracks, one content key for HD video tracks and one content key for all UHD video tracks.
* - `PRESET-VIDEO-4` - Use one content key to encrypt all of the SD video tracks, one content key for HD video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks.
* - `PRESET-VIDEO-5` - Use one content key to encrypt all of the SD video tracks, one content key for HD1 video tracks, one content key for HD2 video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks.
* - `PRESET-VIDEO-6` - Use one content key to encrypt all of the SD video tracks, one content key for HD1 video tracks, one content key for HD2 video tracks and one content key for all UHD video tracks.
* - `PRESET-VIDEO-7` - Use one content key to encrypt all of the SD+HD1 video tracks, one content key for HD2 video tracks and one content key for all UHD video tracks.
* - `PRESET-VIDEO-8` - Use one content key to encrypt all of the SD+HD1 video tracks, one content key for HD2 video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks.
* - `SHARED` - Use the same content key for all of the video and audio tracks in your stream.
* - `UNENCRYPTED` - Don't encrypt any of the video tracks in your stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-encryptioncontractconfiguration.html#cfn-mediapackage-originendpoint-encryptioncontractconfiguration-presetspeke20video
*/
readonly presetSpeke20Video: string;
}
/**
* Parameters for enabling CDN authorization on the endpoint.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html
*/
interface AuthorizationProperty {
/**
* The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that your Content Delivery Network (CDN) uses for authorization to access your endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-cdnidentifiersecret
*/
readonly cdnIdentifierSecret: string;
/**
* The Amazon Resource Name (ARN) for the IAM role that allows AWS Elemental MediaPackage to communicate with AWS Secrets Manager .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-secretsrolearn
*/
readonly secretsRoleArn: string;
}
/**
* Parameters for Common Media Application Format (CMAF) packaging.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html
*/
interface CmafPackageProperty {
/**
* Parameters for encrypting content.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-encryption
*/
readonly encryption?: CfnOriginEndpoint.CmafEncryptionProperty | cdk.IResolvable;
/**
* A list of HLS manifest configurations that are available from this endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-hlsmanifests
*/
readonly hlsManifests?: Array<CfnOriginEndpoint.HlsManifestProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Duration (in seconds) of each segment.
*
* Actual segments are rounded to the nearest multiple of the source segment duration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-segmentdurationseconds
*/
readonly segmentDurationSeconds?: number;
/**
* An optional custom string that is prepended to the name of each segment.
*
* If not specified, the segment prefix defaults to the ChannelId.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-segmentprefix
*/
readonly segmentPrefix?: string;
/**
* Limitations for outputs from the endpoint, based on the video bitrate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-streamselection
*/
readonly streamSelection?: cdk.IResolvable | CfnOriginEndpoint.StreamSelectionProperty;
}
/**
* Holds encryption information so that access to the content can be controlled by a DRM solution.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html
*/
interface CmafEncryptionProperty {
/**
* An optional 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks.
*
* If you don't specify a value, then AWS Elemental MediaPackage creates the constant initialization vector (IV).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-constantinitializationvector
*/
readonly constantInitializationVector?: string;
/**
* The encryption method to use.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-encryptionmethod
*/
readonly encryptionMethod?: string;
/**
* Number of seconds before AWS Elemental MediaPackage rotates to a new key.
*
* By default, rotation is set to 60 seconds. Set to `0` to disable key rotation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-keyrotationintervalseconds
*/
readonly keyRotationIntervalSeconds?: number;
/**
* Parameters for the SPEKE key provider.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html#cfn-mediapackage-originendpoint-cmafencryption-spekekeyprovider
*/
readonly spekeKeyProvider: cdk.IResolvable | CfnOriginEndpoint.SpekeKeyProviderProperty;
}
/**
* An HTTP Live Streaming (HLS) manifest configuration on a CMAF endpoint.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html
*/
interface HlsManifestProperty {
/**
* Controls how ad markers are included in the packaged endpoint.
*
* Valid values:
*
* - `NONE` - Omits all SCTE-35 ad markers from the output.
* - `PASSTHROUGH` - Creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest.
* - `SCTE35_ENHANCED` - Generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-admarkers
*/
readonly adMarkers?: string;
/**
* The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest.
*
* For information about SCTE-35 in AWS Elemental MediaPackage , see [SCTE-35 Message Options in AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/ug/scte.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-adsondeliveryrestrictions
*/
readonly adsOnDeliveryRestrictions?: string;
/**
* Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest.
*
* Valid values:
*
* - `BREAK`
* - `DISTRIBUTOR_ADVERTISEMENT`
* - `DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY`
* - `DISTRIBUTOR_PLACEMENT_OPPORTUNITY`
* - `PROVIDER_ADVERTISEMENT`
* - `PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY`
* - `PROVIDER_PLACEMENT_OPPORTUNITY`
* - `SPLICE_INSERT`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-adtriggers
*/
readonly adTriggers?: Array<string>;
/**
* The manifest ID is required and must be unique within the OriginEndpoint.
*
* The ID can't be changed after the endpoint is created.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-id
*/
readonly id: string;
/**
* Applies to stream sets with a single video track only.
*
* When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-includeiframeonlystream
*/
readonly includeIframeOnlyStream?: boolean | cdk.IResolvable;
/**
* A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
*
* The manifestName on the HLSManifest object overrides the manifestName that you provided on the originEndpoint object.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-manifestname
*/
readonly manifestName?: string;
/**
* When specified as either `event` or `vod` , a corresponding `EXT-X-PLAYLIST-TYPE` entry is included in the media playlist.
*
* Indicates if the playlist is live-to-VOD content.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-playlisttype
*/
readonly playlistType?: string;
/**
* Time window (in seco