awsmediapackage

package
v2.106.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

README

AWS::MediaPackage Construct Library

This module is part of the AWS Cloud Development Kit project.

import mediapackage "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::MediaPackage.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnAsset_CFN_RESOURCE_TYPE_NAME

func CfnAsset_CFN_RESOURCE_TYPE_NAME() *string

func CfnAsset_IsCfnElement

func CfnAsset_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAsset_IsCfnResource

func CfnAsset_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnAsset_IsConstruct

func CfnAsset_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnChannel_CFN_RESOURCE_TYPE_NAME

func CfnChannel_CFN_RESOURCE_TYPE_NAME() *string

func CfnChannel_IsCfnElement

func CfnChannel_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnChannel_IsCfnResource

func CfnChannel_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnChannel_IsConstruct

func CfnChannel_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnOriginEndpoint_CFN_RESOURCE_TYPE_NAME

func CfnOriginEndpoint_CFN_RESOURCE_TYPE_NAME() *string

func CfnOriginEndpoint_IsCfnElement

func CfnOriginEndpoint_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnOriginEndpoint_IsCfnResource

func CfnOriginEndpoint_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnOriginEndpoint_IsConstruct

func CfnOriginEndpoint_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnPackagingConfiguration_CFN_RESOURCE_TYPE_NAME

func CfnPackagingConfiguration_CFN_RESOURCE_TYPE_NAME() *string

func CfnPackagingConfiguration_IsCfnElement

func CfnPackagingConfiguration_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnPackagingConfiguration_IsCfnResource

func CfnPackagingConfiguration_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnPackagingConfiguration_IsConstruct

func CfnPackagingConfiguration_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnPackagingGroup_CFN_RESOURCE_TYPE_NAME

func CfnPackagingGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnPackagingGroup_IsCfnElement

func CfnPackagingGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnPackagingGroup_IsCfnResource

func CfnPackagingGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnPackagingGroup_IsConstruct

func CfnPackagingGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func NewCfnAsset_Override

func NewCfnAsset_Override(c CfnAsset, scope constructs.Construct, id *string, props *CfnAssetProps)

func NewCfnChannel_Override

func NewCfnChannel_Override(c CfnChannel, scope constructs.Construct, id *string, props *CfnChannelProps)

func NewCfnOriginEndpoint_Override

func NewCfnOriginEndpoint_Override(c CfnOriginEndpoint, scope constructs.Construct, id *string, props *CfnOriginEndpointProps)

func NewCfnPackagingConfiguration_Override

func NewCfnPackagingConfiguration_Override(c CfnPackagingConfiguration, scope constructs.Construct, id *string, props *CfnPackagingConfigurationProps)

func NewCfnPackagingGroup_Override

func NewCfnPackagingGroup_Override(c CfnPackagingGroup, scope constructs.Construct, id *string, props *CfnPackagingGroupProps)

Types

type CfnAsset

type CfnAsset interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The Amazon Resource Name (ARN) for the asset.
	//
	// You can get this from the response to any request to the asset.
	AttrArn() *string
	// The date and time that the asset was initially submitted for ingest.
	AttrCreatedAt() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// List of playback endpoints that are available for this asset.
	EgressEndpoints() interface{}
	SetEgressEndpoints(val interface{})
	// Unique identifier that you assign to the asset.
	Id() *string
	SetId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The ID of the packaging group associated with this asset.
	PackagingGroupId() *string
	SetPackagingGroupId(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Unique identifier for this asset, as it's configured in the key provider service.
	ResourceId() *string
	SetResourceId(val *string)
	// The ARN for the source content in Amazon S3.
	SourceArn() *string
	SetSourceArn(val *string)
	// The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored.
	SourceRoleArn() *string
	SetSourceRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The tags to assign to the asset.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

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 .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnAsset := awscdk.Aws_mediapackage.NewCfnAsset(this, jsii.String("MyCfnAsset"), &CfnAssetProps{
	Id: jsii.String("id"),
	PackagingGroupId: jsii.String("packagingGroupId"),
	SourceArn: jsii.String("sourceArn"),
	SourceRoleArn: jsii.String("sourceRoleArn"),

	// the properties below are optional
	EgressEndpoints: []interface{}{
		&EgressEndpointProperty{
			PackagingConfigurationId: jsii.String("packagingConfigurationId"),
			Url: jsii.String("url"),
		},
	},
	ResourceId: jsii.String("resourceId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html

func NewCfnAsset

func NewCfnAsset(scope constructs.Construct, id *string, props *CfnAssetProps) CfnAsset

type CfnAssetProps

type CfnAssetProps struct {
	// 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
	//
	Id *string `field:"required" json:"id" yaml:"id"`
	// 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
	//
	PackagingGroupId *string `field:"required" json:"packagingGroupId" yaml:"packagingGroupId"`
	// 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
	//
	SourceArn *string `field:"required" json:"sourceArn" yaml:"sourceArn"`
	// 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
	//
	SourceRoleArn *string `field:"required" json:"sourceRoleArn" yaml:"sourceRoleArn"`
	// 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
	//
	EgressEndpoints interface{} `field:"optional" json:"egressEndpoints" yaml:"egressEndpoints"`
	// 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
	//
	ResourceId *string `field:"optional" json:"resourceId" yaml:"resourceId"`
	// 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
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnAsset`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnAssetProps := &CfnAssetProps{
	Id: jsii.String("id"),
	PackagingGroupId: jsii.String("packagingGroupId"),
	SourceArn: jsii.String("sourceArn"),
	SourceRoleArn: jsii.String("sourceRoleArn"),

	// the properties below are optional
	EgressEndpoints: []interface{}{
		&EgressEndpointProperty{
			PackagingConfigurationId: jsii.String("packagingConfigurationId"),
			Url: jsii.String("url"),
		},
	},
	ResourceId: jsii.String("resourceId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html

type CfnAsset_EgressEndpointProperty

type CfnAsset_EgressEndpointProperty struct {
	// 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
	//
	PackagingConfigurationId *string `field:"required" json:"packagingConfigurationId" yaml:"packagingConfigurationId"`
	// 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
	//
	Url *string `field:"required" json:"url" yaml:"url"`
}

The playback endpoint for a packaging configuration on an asset.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

egressEndpointProperty := &EgressEndpointProperty{
	PackagingConfigurationId: jsii.String("packagingConfigurationId"),
	Url: jsii.String("url"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html

type CfnChannel

type CfnChannel interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The channel's unique system-generated resource name, based on the AWS record.
	AttrArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Any descriptive information that you want to add to the channel for future identification purposes.
	Description() *string
	SetDescription(val *string)
	// Configures egress access logs.
	EgressAccessLogs() interface{}
	SetEgressAccessLogs(val interface{})
	// The input URL where the source stream should be sent.
	HlsIngest() interface{}
	SetHlsIngest(val interface{})
	// Unique identifier that you assign to the channel.
	Id() *string
	SetId(val *string)
	// Configures ingress access logs.
	IngressAccessLogs() interface{}
	SetIngressAccessLogs(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The tags to assign to the channel.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnChannel := awscdk.Aws_mediapackage.NewCfnChannel(this, jsii.String("MyCfnChannel"), &CfnChannelProps{
	Id: jsii.String("id"),

	// the properties below are optional
	Description: jsii.String("description"),
	EgressAccessLogs: &LogConfigurationProperty{
		LogGroupName: jsii.String("logGroupName"),
	},
	HlsIngest: &HlsIngestProperty{
		IngestEndpoints: []interface{}{
			&IngestEndpointProperty{
				Id: jsii.String("id"),
				Password: jsii.String("password"),
				Url: jsii.String("url"),
				Username: jsii.String("username"),
			},
		},
	},
	IngressAccessLogs: &LogConfigurationProperty{
		LogGroupName: jsii.String("logGroupName"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html

func NewCfnChannel

func NewCfnChannel(scope constructs.Construct, id *string, props *CfnChannelProps) CfnChannel

type CfnChannelProps

type CfnChannelProps struct {
	// 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
	//
	Id *string `field:"required" json:"id" yaml:"id"`
	// 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
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Configures egress access logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-egressaccesslogs
	//
	EgressAccessLogs interface{} `field:"optional" json:"egressAccessLogs" yaml:"egressAccessLogs"`
	// 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
	//
	HlsIngest interface{} `field:"optional" json:"hlsIngest" yaml:"hlsIngest"`
	// Configures ingress access logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html#cfn-mediapackage-channel-ingressaccesslogs
	//
	IngressAccessLogs interface{} `field:"optional" json:"ingressAccessLogs" yaml:"ingressAccessLogs"`
	// 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
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnChannel`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnChannelProps := &CfnChannelProps{
	Id: jsii.String("id"),

	// the properties below are optional
	Description: jsii.String("description"),
	EgressAccessLogs: &LogConfigurationProperty{
		LogGroupName: jsii.String("logGroupName"),
	},
	HlsIngest: &HlsIngestProperty{
		IngestEndpoints: []interface{}{
			&IngestEndpointProperty{
				Id: jsii.String("id"),
				Password: jsii.String("password"),
				Url: jsii.String("url"),
				Username: jsii.String("username"),
			},
		},
	},
	IngressAccessLogs: &LogConfigurationProperty{
		LogGroupName: jsii.String("logGroupName"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html

type CfnChannel_HlsIngestProperty added in v2.55.0

type CfnChannel_HlsIngestProperty struct {
	// 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
	//
	IngestEndpoints interface{} `field:"optional" json:"ingestEndpoints" yaml:"ingestEndpoints"`
}

HLS ingest configuration.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

hlsIngestProperty := &HlsIngestProperty{
	IngestEndpoints: []interface{}{
		&IngestEndpointProperty{
			Id: jsii.String("id"),
			Password: jsii.String("password"),
			Url: jsii.String("url"),
			Username: jsii.String("username"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-hlsingest.html

type CfnChannel_IngestEndpointProperty added in v2.55.0

type CfnChannel_IngestEndpointProperty struct {
	// The endpoint identifier.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html#cfn-mediapackage-channel-ingestendpoint-id
	//
	Id *string `field:"required" json:"id" yaml:"id"`
	// 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
	//
	Password *string `field:"required" json:"password" yaml:"password"`
	// 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
	//
	Url *string `field:"required" json:"url" yaml:"url"`
	// 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
	//
	Username *string `field:"required" json:"username" yaml:"username"`
}

An endpoint for ingesting source content for a channel.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ingestEndpointProperty := &IngestEndpointProperty{
	Id: jsii.String("id"),
	Password: jsii.String("password"),
	Url: jsii.String("url"),
	Username: jsii.String("username"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-ingestendpoint.html

type CfnChannel_LogConfigurationProperty

type CfnChannel_LogConfigurationProperty struct {
	// 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
	//
	LogGroupName *string `field:"optional" json:"logGroupName" yaml:"logGroupName"`
}

The access log configuration parameters for your channel.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

logConfigurationProperty := &LogConfigurationProperty{
	LogGroupName: jsii.String("logGroupName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-channel-logconfiguration.html

type CfnOriginEndpoint

type CfnOriginEndpoint interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The endpoint's unique system-generated resource name, based on the AWS record.
	AttrArn() *string
	// URL for the key provider’s key retrieval API endpoint.
	//
	// Must start with https://.
	AttrUrl() *string
	// Parameters for CDN authorization.
	Authorization() interface{}
	SetAuthorization(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// The ID of the channel associated with this endpoint.
	ChannelId() *string
	SetChannelId(val *string)
	// Parameters for Common Media Application Format (CMAF) packaging.
	CmafPackage() interface{}
	SetCmafPackage(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Parameters for DASH packaging.
	DashPackage() interface{}
	SetDashPackage(val interface{})
	// Any descriptive information that you want to add to the endpoint for future identification purposes.
	Description() *string
	SetDescription(val *string)
	// Parameters for Apple HLS packaging.
	HlsPackage() interface{}
	SetHlsPackage(val interface{})
	// The manifest ID is required and must be unique within the OriginEndpoint.
	Id() *string
	SetId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
	ManifestName() *string
	SetManifestName(val *string)
	// Parameters for Microsoft Smooth Streaming packaging.
	MssPackage() interface{}
	SetMssPackage(val interface{})
	// The tree node.
	Node() constructs.Node
	// Controls video origination from this endpoint.
	Origination() *string
	SetOrigination(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Maximum duration (seconds) of content to retain for startover playback.
	StartoverWindowSeconds() *float64
	SetStartoverWindowSeconds(val *float64)
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The tags to assign to the endpoint.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Minimum duration (seconds) of delay to enforce on the playback of live content.
	TimeDelaySeconds() *float64
	SetTimeDelaySeconds(val *float64)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The IP addresses that can access this endpoint.
	Whitelist() *[]*string
	SetWhitelist(val *[]*string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnOriginEndpoint := awscdk.Aws_mediapackage.NewCfnOriginEndpoint(this, jsii.String("MyCfnOriginEndpoint"), &CfnOriginEndpointProps{
	ChannelId: jsii.String("channelId"),
	Id: jsii.String("id"),

	// the properties below are optional
	Authorization: &AuthorizationProperty{
		CdnIdentifierSecret: jsii.String("cdnIdentifierSecret"),
		SecretsRoleArn: jsii.String("secretsRoleArn"),
	},
	CmafPackage: &CmafPackageProperty{
		Encryption: &CmafEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			ConstantInitializationVector: jsii.String("constantInitializationVector"),
			EncryptionMethod: jsii.String("encryptionMethod"),
			KeyRotationIntervalSeconds: jsii.Number(123),
		},
		HlsManifests: []interface{}{
			&HlsManifestProperty{
				Id: jsii.String("id"),

				// the properties below are optional
				AdMarkers: jsii.String("adMarkers"),
				AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
				AdTriggers: []*string{
					jsii.String("adTriggers"),
				},
				IncludeIframeOnlyStream: jsii.Boolean(false),
				ManifestName: jsii.String("manifestName"),
				PlaylistType: jsii.String("playlistType"),
				PlaylistWindowSeconds: jsii.Number(123),
				ProgramDateTimeIntervalSeconds: jsii.Number(123),
				Url: jsii.String("url"),
			},
		},
		SegmentDurationSeconds: jsii.Number(123),
		SegmentPrefix: jsii.String("segmentPrefix"),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
	},
	DashPackage: &DashPackageProperty{
		AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
		AdTriggers: []*string{
			jsii.String("adTriggers"),
		},
		Encryption: &DashEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			KeyRotationIntervalSeconds: jsii.Number(123),
		},
		IncludeIframeOnlyStream: jsii.Boolean(false),
		ManifestLayout: jsii.String("manifestLayout"),
		ManifestWindowSeconds: jsii.Number(123),
		MinBufferTimeSeconds: jsii.Number(123),
		MinUpdatePeriodSeconds: jsii.Number(123),
		PeriodTriggers: []*string{
			jsii.String("periodTriggers"),
		},
		Profile: jsii.String("profile"),
		SegmentDurationSeconds: jsii.Number(123),
		SegmentTemplateFormat: jsii.String("segmentTemplateFormat"),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
		SuggestedPresentationDelaySeconds: jsii.Number(123),
		UtcTiming: jsii.String("utcTiming"),
		UtcTimingUri: jsii.String("utcTimingUri"),
	},
	Description: jsii.String("description"),
	HlsPackage: &HlsPackageProperty{
		AdMarkers: jsii.String("adMarkers"),
		AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
		AdTriggers: []*string{
			jsii.String("adTriggers"),
		},
		Encryption: &HlsEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			ConstantInitializationVector: jsii.String("constantInitializationVector"),
			EncryptionMethod: jsii.String("encryptionMethod"),
			KeyRotationIntervalSeconds: jsii.Number(123),
			RepeatExtXKey: jsii.Boolean(false),
		},
		IncludeDvbSubtitles: jsii.Boolean(false),
		IncludeIframeOnlyStream: jsii.Boolean(false),
		PlaylistType: jsii.String("playlistType"),
		PlaylistWindowSeconds: jsii.Number(123),
		ProgramDateTimeIntervalSeconds: jsii.Number(123),
		SegmentDurationSeconds: jsii.Number(123),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
		UseAudioRenditionGroup: jsii.Boolean(false),
	},
	ManifestName: jsii.String("manifestName"),
	MssPackage: &MssPackageProperty{
		Encryption: &MssEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		ManifestWindowSeconds: jsii.Number(123),
		SegmentDurationSeconds: jsii.Number(123),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
	},
	Origination: jsii.String("origination"),
	StartoverWindowSeconds: jsii.Number(123),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TimeDelaySeconds: jsii.Number(123),
	Whitelist: []*string{
		jsii.String("whitelist"),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html

func NewCfnOriginEndpoint

func NewCfnOriginEndpoint(scope constructs.Construct, id *string, props *CfnOriginEndpointProps) CfnOriginEndpoint

type CfnOriginEndpointProps

type CfnOriginEndpointProps struct {
	// The ID of the channel associated with this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-channelid
	//
	ChannelId *string `field:"required" json:"channelId" yaml:"channelId"`
	// 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-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-id
	//
	Id *string `field:"required" json:"id" yaml:"id"`
	// Parameters for CDN authorization.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-authorization
	//
	Authorization interface{} `field:"optional" json:"authorization" yaml:"authorization"`
	// Parameters for Common Media Application Format (CMAF) packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-cmafpackage
	//
	CmafPackage interface{} `field:"optional" json:"cmafPackage" yaml:"cmafPackage"`
	// Parameters for DASH packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-dashpackage
	//
	DashPackage interface{} `field:"optional" json:"dashPackage" yaml:"dashPackage"`
	// Any descriptive information that you want to add to the endpoint for future identification purposes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Parameters for Apple HLS packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-hlspackage
	//
	HlsPackage interface{} `field:"optional" json:"hlsPackage" yaml:"hlsPackage"`
	// A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-manifestname
	//
	ManifestName *string `field:"optional" json:"manifestName" yaml:"manifestName"`
	// Parameters for Microsoft Smooth Streaming packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-msspackage
	//
	MssPackage interface{} `field:"optional" json:"mssPackage" yaml:"mssPackage"`
	// Controls video origination from this endpoint.
	//
	// Valid values:
	//
	// - `ALLOW` - enables this endpoint to serve content to requesting devices.
	// - `DENY` - prevents this endpoint from serving content. Denying origination is helpful for harvesting live-to-VOD assets. For more information about harvesting and origination, see [Live-to-VOD Requirements](https://docs.aws.amazon.com/mediapackage/latest/ug/ltov-reqmts.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-origination
	//
	Origination *string `field:"optional" json:"origination" yaml:"origination"`
	// Maximum duration (seconds) of content to retain for startover playback.
	//
	// Omit this attribute or enter `0` to indicate that startover playback is disabled for this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-startoverwindowseconds
	//
	StartoverWindowSeconds *float64 `field:"optional" json:"startoverWindowSeconds" yaml:"startoverWindowSeconds"`
	// The tags to assign to the endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// Minimum duration (seconds) of delay to enforce on the playback of live content.
	//
	// Omit this attribute or enter `0` to indicate that there is no time delay in effect for this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-timedelayseconds
	//
	TimeDelaySeconds *float64 `field:"optional" json:"timeDelaySeconds" yaml:"timeDelaySeconds"`
	// The IP addresses that can access this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html#cfn-mediapackage-originendpoint-whitelist
	//
	Whitelist *[]*string `field:"optional" json:"whitelist" yaml:"whitelist"`
}

Properties for defining a `CfnOriginEndpoint`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnOriginEndpointProps := &CfnOriginEndpointProps{
	ChannelId: jsii.String("channelId"),
	Id: jsii.String("id"),

	// the properties below are optional
	Authorization: &AuthorizationProperty{
		CdnIdentifierSecret: jsii.String("cdnIdentifierSecret"),
		SecretsRoleArn: jsii.String("secretsRoleArn"),
	},
	CmafPackage: &CmafPackageProperty{
		Encryption: &CmafEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			ConstantInitializationVector: jsii.String("constantInitializationVector"),
			EncryptionMethod: jsii.String("encryptionMethod"),
			KeyRotationIntervalSeconds: jsii.Number(123),
		},
		HlsManifests: []interface{}{
			&HlsManifestProperty{
				Id: jsii.String("id"),

				// the properties below are optional
				AdMarkers: jsii.String("adMarkers"),
				AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
				AdTriggers: []*string{
					jsii.String("adTriggers"),
				},
				IncludeIframeOnlyStream: jsii.Boolean(false),
				ManifestName: jsii.String("manifestName"),
				PlaylistType: jsii.String("playlistType"),
				PlaylistWindowSeconds: jsii.Number(123),
				ProgramDateTimeIntervalSeconds: jsii.Number(123),
				Url: jsii.String("url"),
			},
		},
		SegmentDurationSeconds: jsii.Number(123),
		SegmentPrefix: jsii.String("segmentPrefix"),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
	},
	DashPackage: &DashPackageProperty{
		AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
		AdTriggers: []*string{
			jsii.String("adTriggers"),
		},
		Encryption: &DashEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			KeyRotationIntervalSeconds: jsii.Number(123),
		},
		IncludeIframeOnlyStream: jsii.Boolean(false),
		ManifestLayout: jsii.String("manifestLayout"),
		ManifestWindowSeconds: jsii.Number(123),
		MinBufferTimeSeconds: jsii.Number(123),
		MinUpdatePeriodSeconds: jsii.Number(123),
		PeriodTriggers: []*string{
			jsii.String("periodTriggers"),
		},
		Profile: jsii.String("profile"),
		SegmentDurationSeconds: jsii.Number(123),
		SegmentTemplateFormat: jsii.String("segmentTemplateFormat"),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
		SuggestedPresentationDelaySeconds: jsii.Number(123),
		UtcTiming: jsii.String("utcTiming"),
		UtcTimingUri: jsii.String("utcTimingUri"),
	},
	Description: jsii.String("description"),
	HlsPackage: &HlsPackageProperty{
		AdMarkers: jsii.String("adMarkers"),
		AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
		AdTriggers: []*string{
			jsii.String("adTriggers"),
		},
		Encryption: &HlsEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			ConstantInitializationVector: jsii.String("constantInitializationVector"),
			EncryptionMethod: jsii.String("encryptionMethod"),
			KeyRotationIntervalSeconds: jsii.Number(123),
			RepeatExtXKey: jsii.Boolean(false),
		},
		IncludeDvbSubtitles: jsii.Boolean(false),
		IncludeIframeOnlyStream: jsii.Boolean(false),
		PlaylistType: jsii.String("playlistType"),
		PlaylistWindowSeconds: jsii.Number(123),
		ProgramDateTimeIntervalSeconds: jsii.Number(123),
		SegmentDurationSeconds: jsii.Number(123),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
		UseAudioRenditionGroup: jsii.Boolean(false),
	},
	ManifestName: jsii.String("manifestName"),
	MssPackage: &MssPackageProperty{
		Encryption: &MssEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				ResourceId: jsii.String("resourceId"),
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				CertificateArn: jsii.String("certificateArn"),
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		ManifestWindowSeconds: jsii.Number(123),
		SegmentDurationSeconds: jsii.Number(123),
		StreamSelection: &StreamSelectionProperty{
			MaxVideoBitsPerSecond: jsii.Number(123),
			MinVideoBitsPerSecond: jsii.Number(123),
			StreamOrder: jsii.String("streamOrder"),
		},
	},
	Origination: jsii.String("origination"),
	StartoverWindowSeconds: jsii.Number(123),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TimeDelaySeconds: jsii.Number(123),
	Whitelist: []*string{
		jsii.String("whitelist"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html

type CfnOriginEndpoint_AuthorizationProperty

type CfnOriginEndpoint_AuthorizationProperty struct {
	// 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
	//
	CdnIdentifierSecret *string `field:"required" json:"cdnIdentifierSecret" yaml:"cdnIdentifierSecret"`
	// 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
	//
	SecretsRoleArn *string `field:"required" json:"secretsRoleArn" yaml:"secretsRoleArn"`
}

Parameters for enabling CDN authorization on the endpoint.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

authorizationProperty := &AuthorizationProperty{
	CdnIdentifierSecret: jsii.String("cdnIdentifierSecret"),
	SecretsRoleArn: jsii.String("secretsRoleArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html

type CfnOriginEndpoint_CmafEncryptionProperty

type CfnOriginEndpoint_CmafEncryptionProperty struct {
	// 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
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
	// 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
	//
	ConstantInitializationVector *string `field:"optional" json:"constantInitializationVector" yaml:"constantInitializationVector"`
	// 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
	//
	EncryptionMethod *string `field:"optional" json:"encryptionMethod" yaml:"encryptionMethod"`
	// 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
	//
	KeyRotationIntervalSeconds *float64 `field:"optional" json:"keyRotationIntervalSeconds" yaml:"keyRotationIntervalSeconds"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cmafEncryptionProperty := &CmafEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		ResourceId: jsii.String("resourceId"),
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		CertificateArn: jsii.String("certificateArn"),
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},

	// the properties below are optional
	ConstantInitializationVector: jsii.String("constantInitializationVector"),
	EncryptionMethod: jsii.String("encryptionMethod"),
	KeyRotationIntervalSeconds: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafencryption.html

type CfnOriginEndpoint_CmafPackageProperty

type CfnOriginEndpoint_CmafPackageProperty struct {
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html#cfn-mediapackage-originendpoint-cmafpackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// 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
	//
	HlsManifests interface{} `field:"optional" json:"hlsManifests" yaml:"hlsManifests"`
	// 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
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
	// 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
	//
	SegmentPrefix *string `field:"optional" json:"segmentPrefix" yaml:"segmentPrefix"`
	// 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
	//
	StreamSelection interface{} `field:"optional" json:"streamSelection" yaml:"streamSelection"`
}

Parameters for Common Media Application Format (CMAF) packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cmafPackageProperty := &CmafPackageProperty{
	Encryption: &CmafEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			ResourceId: jsii.String("resourceId"),
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			CertificateArn: jsii.String("certificateArn"),
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},

		// the properties below are optional
		ConstantInitializationVector: jsii.String("constantInitializationVector"),
		EncryptionMethod: jsii.String("encryptionMethod"),
		KeyRotationIntervalSeconds: jsii.Number(123),
	},
	HlsManifests: []interface{}{
		&HlsManifestProperty{
			Id: jsii.String("id"),

			// the properties below are optional
			AdMarkers: jsii.String("adMarkers"),
			AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
			AdTriggers: []*string{
				jsii.String("adTriggers"),
			},
			IncludeIframeOnlyStream: jsii.Boolean(false),
			ManifestName: jsii.String("manifestName"),
			PlaylistType: jsii.String("playlistType"),
			PlaylistWindowSeconds: jsii.Number(123),
			ProgramDateTimeIntervalSeconds: jsii.Number(123),
			Url: jsii.String("url"),
		},
	},
	SegmentDurationSeconds: jsii.Number(123),
	SegmentPrefix: jsii.String("segmentPrefix"),
	StreamSelection: &StreamSelectionProperty{
		MaxVideoBitsPerSecond: jsii.Number(123),
		MinVideoBitsPerSecond: jsii.Number(123),
		StreamOrder: jsii.String("streamOrder"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-cmafpackage.html

type CfnOriginEndpoint_DashEncryptionProperty

type CfnOriginEndpoint_DashEncryptionProperty struct {
	// Parameters for the SPEKE key provider.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html#cfn-mediapackage-originendpoint-dashencryption-spekekeyprovider
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
	// 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-dashencryption.html#cfn-mediapackage-originendpoint-dashencryption-keyrotationintervalseconds
	//
	KeyRotationIntervalSeconds *float64 `field:"optional" json:"keyRotationIntervalSeconds" yaml:"keyRotationIntervalSeconds"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashEncryptionProperty := &DashEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		ResourceId: jsii.String("resourceId"),
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		CertificateArn: jsii.String("certificateArn"),
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},

	// the properties below are optional
	KeyRotationIntervalSeconds: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashencryption.html

type CfnOriginEndpoint_DashPackageProperty

type CfnOriginEndpoint_DashPackageProperty struct {
	// 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-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-adsondeliveryrestrictions
	//
	AdsOnDeliveryRestrictions *string `field:"optional" json:"adsOnDeliveryRestrictions" yaml:"adsOnDeliveryRestrictions"`
	// 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-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-adtriggers
	//
	AdTriggers *[]*string `field:"optional" json:"adTriggers" yaml:"adTriggers"`
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// This applies only to stream sets with a single video track.
	//
	// When true, the stream set includes an additional I-frame trick-play 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-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-includeiframeonlystream
	//
	IncludeIframeOnlyStream interface{} `field:"optional" json:"includeIframeOnlyStream" yaml:"includeIframeOnlyStream"`
	// Determines the position of some tags in the manifest.
	//
	// Valid values:
	//
	// - `FULL` - Elements like `SegmentTemplate` and `ContentProtection` are included in each `Representation` .
	// - `COMPACT` - Duplicate elements are combined and presented at the `AdaptationSet` level.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-manifestlayout
	//
	ManifestLayout *string `field:"optional" json:"manifestLayout" yaml:"manifestLayout"`
	// Time window (in seconds) contained in each manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-manifestwindowseconds
	//
	ManifestWindowSeconds *float64 `field:"optional" json:"manifestWindowSeconds" yaml:"manifestWindowSeconds"`
	// Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-minbuffertimeseconds
	//
	MinBufferTimeSeconds *float64 `field:"optional" json:"minBufferTimeSeconds" yaml:"minBufferTimeSeconds"`
	// Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-minupdateperiodseconds
	//
	MinUpdatePeriodSeconds *float64 `field:"optional" json:"minUpdatePeriodSeconds" yaml:"minUpdatePeriodSeconds"`
	// Controls whether AWS Elemental MediaPackage produces single-period or multi-period DASH manifests.
	//
	// For more information about periods, see [Multi-period DASH in AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/ug/multi-period.html) .
	//
	// Valid values:
	//
	// - `ADS` - AWS Elemental MediaPackage will produce multi-period DASH manifests. Periods are created based on the SCTE-35 ad markers present in the input manifest.
	// - *No value* - AWS Elemental MediaPackage will produce single-period DASH manifests. This is the default setting.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-periodtriggers
	//
	PeriodTriggers *[]*string `field:"optional" json:"periodTriggers" yaml:"periodTriggers"`
	// The DASH profile for the output.
	//
	// Valid values:
	//
	// - `NONE` - The output doesn't use a DASH profile.
	// - `HBBTV_1_5` - The output is compliant with HbbTV v1.5.
	// - `DVB_DASH_2014` - The output is compliant with DVB-DASH 2014.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-profile
	//
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// 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-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-segmentdurationseconds
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
	// Determines the type of variable used in the `media` URL of the `SegmentTemplate` tag in the manifest.
	//
	// Also specifies if segment timeline information is included in `SegmentTimeline` or `SegmentTemplate` .
	//
	// Valid values:
	//
	// - `NUMBER_WITH_TIMELINE` - The `$Number$` variable is used in the `media` URL. The value of this variable is the sequential number of the segment. A full `SegmentTimeline` object is presented in each `SegmentTemplate` .
	// - `NUMBER_WITH_DURATION` - The `$Number$` variable is used in the `media` URL and a `duration` attribute is added to the segment template. The `SegmentTimeline` object is removed from the representation.
	// - `TIME_WITH_TIMELINE` - The `$Time$` variable is used in the `media` URL. The value of this variable is the timestamp of when the segment starts. A full `SegmentTimeline` object is presented in each `SegmentTemplate` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-segmenttemplateformat
	//
	SegmentTemplateFormat *string `field:"optional" json:"segmentTemplateFormat" yaml:"segmentTemplateFormat"`
	// Limitations for outputs from the endpoint, based on the video bitrate.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-streamselection
	//
	StreamSelection interface{} `field:"optional" json:"streamSelection" yaml:"streamSelection"`
	// Amount of time (in seconds) that the player should be from the live point at the end of the manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-suggestedpresentationdelayseconds
	//
	SuggestedPresentationDelaySeconds *float64 `field:"optional" json:"suggestedPresentationDelaySeconds" yaml:"suggestedPresentationDelaySeconds"`
	// Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-utctiming
	//
	UtcTiming *string `field:"optional" json:"utcTiming" yaml:"utcTiming"`
	// Specifies the value attribute of the UTC timing field when utcTiming is set to HTTP-ISO or HTTP-HEAD.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html#cfn-mediapackage-originendpoint-dashpackage-utctiminguri
	//
	UtcTimingUri *string `field:"optional" json:"utcTimingUri" yaml:"utcTimingUri"`
}

Parameters for DASH packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashPackageProperty := &DashPackageProperty{
	AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
	AdTriggers: []*string{
		jsii.String("adTriggers"),
	},
	Encryption: &DashEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			ResourceId: jsii.String("resourceId"),
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			CertificateArn: jsii.String("certificateArn"),
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},

		// the properties below are optional
		KeyRotationIntervalSeconds: jsii.Number(123),
	},
	IncludeIframeOnlyStream: jsii.Boolean(false),
	ManifestLayout: jsii.String("manifestLayout"),
	ManifestWindowSeconds: jsii.Number(123),
	MinBufferTimeSeconds: jsii.Number(123),
	MinUpdatePeriodSeconds: jsii.Number(123),
	PeriodTriggers: []*string{
		jsii.String("periodTriggers"),
	},
	Profile: jsii.String("profile"),
	SegmentDurationSeconds: jsii.Number(123),
	SegmentTemplateFormat: jsii.String("segmentTemplateFormat"),
	StreamSelection: &StreamSelectionProperty{
		MaxVideoBitsPerSecond: jsii.Number(123),
		MinVideoBitsPerSecond: jsii.Number(123),
		StreamOrder: jsii.String("streamOrder"),
	},
	SuggestedPresentationDelaySeconds: jsii.Number(123),
	UtcTiming: jsii.String("utcTiming"),
	UtcTimingUri: jsii.String("utcTimingUri"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-dashpackage.html

type CfnOriginEndpoint_EncryptionContractConfigurationProperty added in v2.18.0

type CfnOriginEndpoint_EncryptionContractConfigurationProperty struct {
	// 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
	//
	PresetSpeke20Audio *string `field:"required" json:"presetSpeke20Audio" yaml:"presetSpeke20Audio"`
	// 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
	//
	PresetSpeke20Video *string `field:"required" json:"presetSpeke20Video" yaml:"presetSpeke20Video"`
}

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` .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

encryptionContractConfigurationProperty := &EncryptionContractConfigurationProperty{
	PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
	PresetSpeke20Video: jsii.String("presetSpeke20Video"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-encryptioncontractconfiguration.html

type CfnOriginEndpoint_HlsEncryptionProperty

type CfnOriginEndpoint_HlsEncryptionProperty struct {
	// Parameters for the SPEKE key provider.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-spekekeyprovider
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
	// A 128-bit, 16-byte hex value represented by a 32-character string, used with the key for encrypting blocks.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-constantinitializationvector
	//
	ConstantInitializationVector *string `field:"optional" json:"constantInitializationVector" yaml:"constantInitializationVector"`
	// HLS encryption type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-encryptionmethod
	//
	EncryptionMethod *string `field:"optional" json:"encryptionMethod" yaml:"encryptionMethod"`
	// 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-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-keyrotationintervalseconds
	//
	KeyRotationIntervalSeconds *float64 `field:"optional" json:"keyRotationIntervalSeconds" yaml:"keyRotationIntervalSeconds"`
	// Repeat the `EXT-X-KEY` directive for every media segment.
	//
	// This might result in an increase in client requests to the DRM server.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html#cfn-mediapackage-originendpoint-hlsencryption-repeatextxkey
	//
	RepeatExtXKey interface{} `field:"optional" json:"repeatExtXKey" yaml:"repeatExtXKey"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

hlsEncryptionProperty := &HlsEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		ResourceId: jsii.String("resourceId"),
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		CertificateArn: jsii.String("certificateArn"),
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},

	// the properties below are optional
	ConstantInitializationVector: jsii.String("constantInitializationVector"),
	EncryptionMethod: jsii.String("encryptionMethod"),
	KeyRotationIntervalSeconds: jsii.Number(123),
	RepeatExtXKey: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsencryption.html

type CfnOriginEndpoint_HlsManifestProperty

type CfnOriginEndpoint_HlsManifestProperty struct {
	// 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
	//
	Id *string `field:"required" json:"id" yaml:"id"`
	// 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
	//
	AdMarkers *string `field:"optional" json:"adMarkers" yaml:"adMarkers"`
	// 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
	//
	AdsOnDeliveryRestrictions *string `field:"optional" json:"adsOnDeliveryRestrictions" yaml:"adsOnDeliveryRestrictions"`
	// 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
	//
	AdTriggers *[]*string `field:"optional" json:"adTriggers" yaml:"adTriggers"`
	// 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
	//
	IncludeIframeOnlyStream interface{} `field:"optional" json:"includeIframeOnlyStream" yaml:"includeIframeOnlyStream"`
	// 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
	//
	ManifestName *string `field:"optional" json:"manifestName" yaml:"manifestName"`
	// 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
	//
	PlaylistType *string `field:"optional" json:"playlistType" yaml:"playlistType"`
	// Time window (in seconds) contained in each parent manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-playlistwindowseconds
	//
	PlaylistWindowSeconds *float64 `field:"optional" json:"playlistWindowSeconds" yaml:"playlistWindowSeconds"`
	// Inserts `EXT-X-PROGRAM-DATE-TIME` tags in the output manifest at the interval that you specify.
	//
	// Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.
	//
	// Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
	//
	// Omit this attribute or enter `0` to indicate that the `EXT-X-PROGRAM-DATE-TIME` tags are not included in the manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-programdatetimeintervalseconds
	//
	ProgramDateTimeIntervalSeconds *float64 `field:"optional" json:"programDateTimeIntervalSeconds" yaml:"programDateTimeIntervalSeconds"`
	// The URL that's used to request this manifest from this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html#cfn-mediapackage-originendpoint-hlsmanifest-url
	//
	Url *string `field:"optional" json:"url" yaml:"url"`
}

An HTTP Live Streaming (HLS) manifest configuration on a CMAF endpoint.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

hlsManifestProperty := &HlsManifestProperty{
	Id: jsii.String("id"),

	// the properties below are optional
	AdMarkers: jsii.String("adMarkers"),
	AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
	AdTriggers: []*string{
		jsii.String("adTriggers"),
	},
	IncludeIframeOnlyStream: jsii.Boolean(false),
	ManifestName: jsii.String("manifestName"),
	PlaylistType: jsii.String("playlistType"),
	PlaylistWindowSeconds: jsii.Number(123),
	ProgramDateTimeIntervalSeconds: jsii.Number(123),
	Url: jsii.String("url"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlsmanifest.html

type CfnOriginEndpoint_HlsPackageProperty

type CfnOriginEndpoint_HlsPackageProperty struct {
	// 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-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-admarkers
	//
	AdMarkers *string `field:"optional" json:"adMarkers" yaml:"adMarkers"`
	// 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-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-adsondeliveryrestrictions
	//
	AdsOnDeliveryRestrictions *string `field:"optional" json:"adsOnDeliveryRestrictions" yaml:"adsOnDeliveryRestrictions"`
	// 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-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-adtriggers
	//
	AdTriggers *[]*string `field:"optional" json:"adTriggers" yaml:"adTriggers"`
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-includedvbsubtitles
	//
	IncludeDvbSubtitles interface{} `field:"optional" json:"includeDvbSubtitles" yaml:"includeDvbSubtitles"`
	// Only applies to stream sets with a single video track.
	//
	// 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-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-includeiframeonlystream
	//
	IncludeIframeOnlyStream interface{} `field:"optional" json:"includeIframeOnlyStream" yaml:"includeIframeOnlyStream"`
	// 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-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-playlisttype
	//
	PlaylistType *string `field:"optional" json:"playlistType" yaml:"playlistType"`
	// Time window (in seconds) contained in each parent manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-playlistwindowseconds
	//
	PlaylistWindowSeconds *float64 `field:"optional" json:"playlistWindowSeconds" yaml:"playlistWindowSeconds"`
	// Inserts `EXT-X-PROGRAM-DATE-TIME` tags in the output manifest at the interval that you specify.
	//
	// Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.
	//
	// Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
	//
	// Omit this attribute or enter `0` to indicate that the `EXT-X-PROGRAM-DATE-TIME` tags are not included in the manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-programdatetimeintervalseconds
	//
	ProgramDateTimeIntervalSeconds *float64 `field:"optional" json:"programDateTimeIntervalSeconds" yaml:"programDateTimeIntervalSeconds"`
	// 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-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-segmentdurationseconds
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
	// Limitations for outputs from the endpoint, based on the video bitrate.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-streamselection
	//
	StreamSelection interface{} `field:"optional" json:"streamSelection" yaml:"streamSelection"`
	// When true, AWS Elemental MediaPackage bundles all audio tracks in a rendition group.
	//
	// All other tracks in the stream can be used with any audio rendition from the group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html#cfn-mediapackage-originendpoint-hlspackage-useaudiorenditiongroup
	//
	UseAudioRenditionGroup interface{} `field:"optional" json:"useAudioRenditionGroup" yaml:"useAudioRenditionGroup"`
}

Parameters for Apple HLS packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

hlsPackageProperty := &HlsPackageProperty{
	AdMarkers: jsii.String("adMarkers"),
	AdsOnDeliveryRestrictions: jsii.String("adsOnDeliveryRestrictions"),
	AdTriggers: []*string{
		jsii.String("adTriggers"),
	},
	Encryption: &HlsEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			ResourceId: jsii.String("resourceId"),
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			CertificateArn: jsii.String("certificateArn"),
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},

		// the properties below are optional
		ConstantInitializationVector: jsii.String("constantInitializationVector"),
		EncryptionMethod: jsii.String("encryptionMethod"),
		KeyRotationIntervalSeconds: jsii.Number(123),
		RepeatExtXKey: jsii.Boolean(false),
	},
	IncludeDvbSubtitles: jsii.Boolean(false),
	IncludeIframeOnlyStream: jsii.Boolean(false),
	PlaylistType: jsii.String("playlistType"),
	PlaylistWindowSeconds: jsii.Number(123),
	ProgramDateTimeIntervalSeconds: jsii.Number(123),
	SegmentDurationSeconds: jsii.Number(123),
	StreamSelection: &StreamSelectionProperty{
		MaxVideoBitsPerSecond: jsii.Number(123),
		MinVideoBitsPerSecond: jsii.Number(123),
		StreamOrder: jsii.String("streamOrder"),
	},
	UseAudioRenditionGroup: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-hlspackage.html

type CfnOriginEndpoint_MssEncryptionProperty

type CfnOriginEndpoint_MssEncryptionProperty struct {
	// 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
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mssEncryptionProperty := &MssEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		ResourceId: jsii.String("resourceId"),
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		CertificateArn: jsii.String("certificateArn"),
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-mssencryption.html

type CfnOriginEndpoint_MssPackageProperty

type CfnOriginEndpoint_MssPackageProperty struct {
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html#cfn-mediapackage-originendpoint-msspackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// 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
	//
	ManifestWindowSeconds *float64 `field:"optional" json:"manifestWindowSeconds" yaml:"manifestWindowSeconds"`
	// 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
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
	// 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
	//
	StreamSelection interface{} `field:"optional" json:"streamSelection" yaml:"streamSelection"`
}

Parameters for Microsoft Smooth Streaming packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mssPackageProperty := &MssPackageProperty{
	Encryption: &MssEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			ResourceId: jsii.String("resourceId"),
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			CertificateArn: jsii.String("certificateArn"),
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},
	},
	ManifestWindowSeconds: jsii.Number(123),
	SegmentDurationSeconds: jsii.Number(123),
	StreamSelection: &StreamSelectionProperty{
		MaxVideoBitsPerSecond: jsii.Number(123),
		MinVideoBitsPerSecond: jsii.Number(123),
		StreamOrder: jsii.String("streamOrder"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-msspackage.html

type CfnOriginEndpoint_SpekeKeyProviderProperty

type CfnOriginEndpoint_SpekeKeyProviderProperty struct {
	// 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
	//
	ResourceId *string `field:"required" json:"resourceId" yaml:"resourceId"`
	// 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
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// 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
	//
	SystemIds *[]*string `field:"required" json:"systemIds" yaml:"systemIds"`
	// 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
	//
	Url *string `field:"required" json:"url" yaml:"url"`
	// The Amazon Resource Name (ARN) for the certificate that you imported to AWS 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
	//
	CertificateArn *string `field:"optional" json:"certificateArn" yaml:"certificateArn"`
	// 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
	//
	EncryptionContractConfiguration interface{} `field:"optional" json:"encryptionContractConfiguration" yaml:"encryptionContractConfiguration"`
}

Key provider settings for DRM.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

spekeKeyProviderProperty := &SpekeKeyProviderProperty{
	ResourceId: jsii.String("resourceId"),
	RoleArn: jsii.String("roleArn"),
	SystemIds: []*string{
		jsii.String("systemIds"),
	},
	Url: jsii.String("url"),

	// the properties below are optional
	CertificateArn: jsii.String("certificateArn"),
	EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
		PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
		PresetSpeke20Video: jsii.String("presetSpeke20Video"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-spekekeyprovider.html

type CfnOriginEndpoint_StreamSelectionProperty

type CfnOriginEndpoint_StreamSelectionProperty struct {
	// 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
	//
	MaxVideoBitsPerSecond *float64 `field:"optional" json:"maxVideoBitsPerSecond" yaml:"maxVideoBitsPerSecond"`
	// 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
	//
	MinVideoBitsPerSecond *float64 `field:"optional" json:"minVideoBitsPerSecond" yaml:"minVideoBitsPerSecond"`
	// 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
	//
	StreamOrder *string `field:"optional" json:"streamOrder" yaml:"streamOrder"`
}

Limitations for outputs from the endpoint, based on the video bitrate.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

streamSelectionProperty := &StreamSelectionProperty{
	MaxVideoBitsPerSecond: jsii.Number(123),
	MinVideoBitsPerSecond: jsii.Number(123),
	StreamOrder: jsii.String("streamOrder"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-streamselection.html

type CfnPackagingConfiguration

type CfnPackagingConfiguration interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The Amazon Resource Name (ARN) for the packaging configuration.
	//
	// You can get this from the response to any request to the packaging configuration.
	AttrArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Parameters for CMAF packaging.
	CmafPackage() interface{}
	SetCmafPackage(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Parameters for DASH-ISO packaging.
	DashPackage() interface{}
	SetDashPackage(val interface{})
	// Parameters for Apple HLS packaging.
	HlsPackage() interface{}
	SetHlsPackage(val interface{})
	// Unique identifier that you assign to the packaging configuration.
	Id() *string
	SetId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// Parameters for Microsoft Smooth Streaming packaging.
	MssPackage() interface{}
	SetMssPackage(val interface{})
	// The tree node.
	Node() constructs.Node
	// The ID of the packaging group associated with this packaging configuration.
	PackagingGroupId() *string
	SetPackagingGroupId(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The tags to assign to the packaging configuration.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a packaging configuration in a packaging group.

The packaging configuration represents a single delivery point for an asset. It determines the format and setting for the egressing content. Specify only one package format per configuration, such as `HlsPackage` .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnPackagingConfiguration := awscdk.Aws_mediapackage.NewCfnPackagingConfiguration(this, jsii.String("MyCfnPackagingConfiguration"), &CfnPackagingConfigurationProps{
	Id: jsii.String("id"),
	PackagingGroupId: jsii.String("packagingGroupId"),

	// the properties below are optional
	CmafPackage: &CmafPackageProperty{
		HlsManifests: []interface{}{
			&HlsManifestProperty{
				AdMarkers: jsii.String("adMarkers"),
				IncludeIframeOnlyStream: jsii.Boolean(false),
				ManifestName: jsii.String("manifestName"),
				ProgramDateTimeIntervalSeconds: jsii.Number(123),
				RepeatExtXKey: jsii.Boolean(false),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &CmafEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		IncludeEncoderConfigurationInSegments: jsii.Boolean(false),
		SegmentDurationSeconds: jsii.Number(123),
	},
	DashPackage: &DashPackageProperty{
		DashManifests: []interface{}{
			&DashManifestProperty{
				ManifestLayout: jsii.String("manifestLayout"),
				ManifestName: jsii.String("manifestName"),
				MinBufferTimeSeconds: jsii.Number(123),
				Profile: jsii.String("profile"),
				ScteMarkersSource: jsii.String("scteMarkersSource"),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &DashEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		IncludeEncoderConfigurationInSegments: jsii.Boolean(false),
		IncludeIframeOnlyStream: jsii.Boolean(false),
		PeriodTriggers: []*string{
			jsii.String("periodTriggers"),
		},
		SegmentDurationSeconds: jsii.Number(123),
		SegmentTemplateFormat: jsii.String("segmentTemplateFormat"),
	},
	HlsPackage: &HlsPackageProperty{
		HlsManifests: []interface{}{
			&HlsManifestProperty{
				AdMarkers: jsii.String("adMarkers"),
				IncludeIframeOnlyStream: jsii.Boolean(false),
				ManifestName: jsii.String("manifestName"),
				ProgramDateTimeIntervalSeconds: jsii.Number(123),
				RepeatExtXKey: jsii.Boolean(false),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &HlsEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			ConstantInitializationVector: jsii.String("constantInitializationVector"),
			EncryptionMethod: jsii.String("encryptionMethod"),
		},
		IncludeDvbSubtitles: jsii.Boolean(false),
		SegmentDurationSeconds: jsii.Number(123),
		UseAudioRenditionGroup: jsii.Boolean(false),
	},
	MssPackage: &MssPackageProperty{
		MssManifests: []interface{}{
			&MssManifestProperty{
				ManifestName: jsii.String("manifestName"),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &MssEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		SegmentDurationSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html

func NewCfnPackagingConfiguration

func NewCfnPackagingConfiguration(scope constructs.Construct, id *string, props *CfnPackagingConfigurationProps) CfnPackagingConfiguration

type CfnPackagingConfigurationProps

type CfnPackagingConfigurationProps struct {
	// Unique identifier that you assign to the packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-id
	//
	Id *string `field:"required" json:"id" yaml:"id"`
	// The ID of the packaging group associated with this packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-packaginggroupid
	//
	PackagingGroupId *string `field:"required" json:"packagingGroupId" yaml:"packagingGroupId"`
	// Parameters for CMAF packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-cmafpackage
	//
	CmafPackage interface{} `field:"optional" json:"cmafPackage" yaml:"cmafPackage"`
	// Parameters for DASH-ISO packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-dashpackage
	//
	DashPackage interface{} `field:"optional" json:"dashPackage" yaml:"dashPackage"`
	// Parameters for Apple HLS packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-hlspackage
	//
	HlsPackage interface{} `field:"optional" json:"hlsPackage" yaml:"hlsPackage"`
	// Parameters for Microsoft Smooth Streaming packaging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-msspackage
	//
	MssPackage interface{} `field:"optional" json:"mssPackage" yaml:"mssPackage"`
	// The tags to assign to the packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html#cfn-mediapackage-packagingconfiguration-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnPackagingConfiguration`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnPackagingConfigurationProps := &CfnPackagingConfigurationProps{
	Id: jsii.String("id"),
	PackagingGroupId: jsii.String("packagingGroupId"),

	// the properties below are optional
	CmafPackage: &CmafPackageProperty{
		HlsManifests: []interface{}{
			&HlsManifestProperty{
				AdMarkers: jsii.String("adMarkers"),
				IncludeIframeOnlyStream: jsii.Boolean(false),
				ManifestName: jsii.String("manifestName"),
				ProgramDateTimeIntervalSeconds: jsii.Number(123),
				RepeatExtXKey: jsii.Boolean(false),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &CmafEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		IncludeEncoderConfigurationInSegments: jsii.Boolean(false),
		SegmentDurationSeconds: jsii.Number(123),
	},
	DashPackage: &DashPackageProperty{
		DashManifests: []interface{}{
			&DashManifestProperty{
				ManifestLayout: jsii.String("manifestLayout"),
				ManifestName: jsii.String("manifestName"),
				MinBufferTimeSeconds: jsii.Number(123),
				Profile: jsii.String("profile"),
				ScteMarkersSource: jsii.String("scteMarkersSource"),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &DashEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		IncludeEncoderConfigurationInSegments: jsii.Boolean(false),
		IncludeIframeOnlyStream: jsii.Boolean(false),
		PeriodTriggers: []*string{
			jsii.String("periodTriggers"),
		},
		SegmentDurationSeconds: jsii.Number(123),
		SegmentTemplateFormat: jsii.String("segmentTemplateFormat"),
	},
	HlsPackage: &HlsPackageProperty{
		HlsManifests: []interface{}{
			&HlsManifestProperty{
				AdMarkers: jsii.String("adMarkers"),
				IncludeIframeOnlyStream: jsii.Boolean(false),
				ManifestName: jsii.String("manifestName"),
				ProgramDateTimeIntervalSeconds: jsii.Number(123),
				RepeatExtXKey: jsii.Boolean(false),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &HlsEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},

			// the properties below are optional
			ConstantInitializationVector: jsii.String("constantInitializationVector"),
			EncryptionMethod: jsii.String("encryptionMethod"),
		},
		IncludeDvbSubtitles: jsii.Boolean(false),
		SegmentDurationSeconds: jsii.Number(123),
		UseAudioRenditionGroup: jsii.Boolean(false),
	},
	MssPackage: &MssPackageProperty{
		MssManifests: []interface{}{
			&MssManifestProperty{
				ManifestName: jsii.String("manifestName"),
				StreamSelection: &StreamSelectionProperty{
					MaxVideoBitsPerSecond: jsii.Number(123),
					MinVideoBitsPerSecond: jsii.Number(123),
					StreamOrder: jsii.String("streamOrder"),
				},
			},
		},

		// the properties below are optional
		Encryption: &MssEncryptionProperty{
			SpekeKeyProvider: &SpekeKeyProviderProperty{
				RoleArn: jsii.String("roleArn"),
				SystemIds: []*string{
					jsii.String("systemIds"),
				},
				Url: jsii.String("url"),

				// the properties below are optional
				EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
					PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
					PresetSpeke20Video: jsii.String("presetSpeke20Video"),
				},
			},
		},
		SegmentDurationSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html

type CfnPackagingConfiguration_CmafEncryptionProperty

type CfnPackagingConfiguration_CmafEncryptionProperty struct {
	// Parameters for the SPEKE key provider.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html#cfn-mediapackage-packagingconfiguration-cmafencryption-spekekeyprovider
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cmafEncryptionProperty := &CmafEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html

type CfnPackagingConfiguration_CmafPackageProperty

type CfnPackagingConfiguration_CmafPackageProperty struct {
	// A list of HLS manifest configurations that are available from this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-hlsmanifests
	//
	HlsManifests interface{} `field:"required" json:"hlsManifests" yaml:"hlsManifests"`
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// When includeEncoderConfigurationInSegments is set to true, AWS Elemental MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment.
	//
	// This lets you use different SPS/PPS/VPS settings for your assets during content playback.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-includeencoderconfigurationinsegments
	//
	IncludeEncoderConfigurationInSegments interface{} `field:"optional" json:"includeEncoderConfigurationInSegments" yaml:"includeEncoderConfigurationInSegments"`
	// Duration (in seconds) of each segment.
	//
	// Actual segments are rounded to the nearest multiple of the source fragment duration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html#cfn-mediapackage-packagingconfiguration-cmafpackage-segmentdurationseconds
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
}

Parameters for a packaging configuration that uses Common Media Application Format (CMAF) packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cmafPackageProperty := &CmafPackageProperty{
	HlsManifests: []interface{}{
		&HlsManifestProperty{
			AdMarkers: jsii.String("adMarkers"),
			IncludeIframeOnlyStream: jsii.Boolean(false),
			ManifestName: jsii.String("manifestName"),
			ProgramDateTimeIntervalSeconds: jsii.Number(123),
			RepeatExtXKey: jsii.Boolean(false),
			StreamSelection: &StreamSelectionProperty{
				MaxVideoBitsPerSecond: jsii.Number(123),
				MinVideoBitsPerSecond: jsii.Number(123),
				StreamOrder: jsii.String("streamOrder"),
			},
		},
	},

	// the properties below are optional
	Encryption: &CmafEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},
	},
	IncludeEncoderConfigurationInSegments: jsii.Boolean(false),
	SegmentDurationSeconds: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafpackage.html

type CfnPackagingConfiguration_DashEncryptionProperty

type CfnPackagingConfiguration_DashEncryptionProperty struct {
	// Parameters for the SPEKE key provider.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html#cfn-mediapackage-packagingconfiguration-dashencryption-spekekeyprovider
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashEncryptionProperty := &DashEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html

type CfnPackagingConfiguration_DashManifestProperty

type CfnPackagingConfiguration_DashManifestProperty struct {
	// Determines the position of some tags in the Media Presentation Description (MPD).
	//
	// When set to `FULL` , elements like `SegmentTemplate` and `ContentProtection` are included in each `Representation` . When set to `COMPACT` , duplicate elements are combined and presented at the AdaptationSet level.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-manifestlayout
	//
	ManifestLayout *string `field:"optional" json:"manifestLayout" yaml:"manifestLayout"`
	// A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-manifestname
	//
	ManifestName *string `field:"optional" json:"manifestName" yaml:"manifestName"`
	// Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-minbuffertimeseconds
	//
	MinBufferTimeSeconds *float64 `field:"optional" json:"minBufferTimeSeconds" yaml:"minBufferTimeSeconds"`
	// The DASH profile type.
	//
	// When set to `HBBTV_1_5` , the content is compliant with HbbTV 1.5.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-profile
	//
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// The source of scte markers used.
	//
	// Value description:
	//
	// - `SEGMENTS` - The scte markers are sourced from the segments of the ingested content.
	// - `MANIFEST` - the scte markers are sourced from the manifest of the ingested content. The MANIFEST value is compatible with source HLS playlists using the SCTE-35 Enhanced syntax ( `EXT-OATCLS-SCTE35` tags). SCTE-35 Elemental and SCTE-35 Daterange syntaxes are not supported with this option.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-sctemarkerssource
	//
	ScteMarkersSource *string `field:"optional" json:"scteMarkersSource" yaml:"scteMarkersSource"`
	// Limitations for outputs from the endpoint, based on the video bitrate.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html#cfn-mediapackage-packagingconfiguration-dashmanifest-streamselection
	//
	StreamSelection interface{} `field:"optional" json:"streamSelection" yaml:"streamSelection"`
}

Parameters for a DASH manifest.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashManifestProperty := &DashManifestProperty{
	ManifestLayout: jsii.String("manifestLayout"),
	ManifestName: jsii.String("manifestName"),
	MinBufferTimeSeconds: jsii.Number(123),
	Profile: jsii.String("profile"),
	ScteMarkersSource: jsii.String("scteMarkersSource"),
	StreamSelection: &StreamSelectionProperty{
		MaxVideoBitsPerSecond: jsii.Number(123),
		MinVideoBitsPerSecond: jsii.Number(123),
		StreamOrder: jsii.String("streamOrder"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashmanifest.html

type CfnPackagingConfiguration_DashPackageProperty

type CfnPackagingConfiguration_DashPackageProperty struct {
	// A list of DASH manifest configurations that are available from this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-dashmanifests
	//
	DashManifests interface{} `field:"required" json:"dashManifests" yaml:"dashManifests"`
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// When includeEncoderConfigurationInSegments is set to true, AWS Elemental MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment.
	//
	// This lets you use different SPS/PPS/VPS settings for your assets during content playback.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-includeencoderconfigurationinsegments
	//
	IncludeEncoderConfigurationInSegments interface{} `field:"optional" json:"includeEncoderConfigurationInSegments" yaml:"includeEncoderConfigurationInSegments"`
	// This applies only to stream sets with a single video track.
	//
	// When true, the stream set includes an additional I-frame trick-play 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-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-includeiframeonlystream
	//
	IncludeIframeOnlyStream interface{} `field:"optional" json:"includeIframeOnlyStream" yaml:"includeIframeOnlyStream"`
	// Controls whether AWS Elemental MediaPackage produces single-period or multi-period DASH manifests.
	//
	// For more information about periods, see [Multi-period DASH in AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/ug/multi-period.html) .
	//
	// Valid values:
	//
	// - `ADS` - AWS Elemental MediaPackage will produce multi-period DASH manifests. Periods are created based on the SCTE-35 ad markers present in the input manifest.
	// - *No value* - AWS Elemental MediaPackage will produce single-period DASH manifests. This is the default setting.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-periodtriggers
	//
	PeriodTriggers *[]*string `field:"optional" json:"periodTriggers" yaml:"periodTriggers"`
	// Duration (in seconds) of each fragment.
	//
	// Actual fragments are rounded to the nearest multiple of the source segment duration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-segmentdurationseconds
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
	// Determines the type of SegmentTemplate included in the Media Presentation Description (MPD).
	//
	// When set to `NUMBER_WITH_TIMELINE` , a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to `TIME_WITH_TIMELINE` , a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to `NUMBER_WITH_DURATION` , only a duration is included in each SegmentTemplate, with $Number$ media URLs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html#cfn-mediapackage-packagingconfiguration-dashpackage-segmenttemplateformat
	//
	SegmentTemplateFormat *string `field:"optional" json:"segmentTemplateFormat" yaml:"segmentTemplateFormat"`
}

Parameters for a packaging configuration that uses Dynamic Adaptive Streaming over HTTP (DASH) packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dashPackageProperty := &DashPackageProperty{
	DashManifests: []interface{}{
		&DashManifestProperty{
			ManifestLayout: jsii.String("manifestLayout"),
			ManifestName: jsii.String("manifestName"),
			MinBufferTimeSeconds: jsii.Number(123),
			Profile: jsii.String("profile"),
			ScteMarkersSource: jsii.String("scteMarkersSource"),
			StreamSelection: &StreamSelectionProperty{
				MaxVideoBitsPerSecond: jsii.Number(123),
				MinVideoBitsPerSecond: jsii.Number(123),
				StreamOrder: jsii.String("streamOrder"),
			},
		},
	},

	// the properties below are optional
	Encryption: &DashEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},
	},
	IncludeEncoderConfigurationInSegments: jsii.Boolean(false),
	IncludeIframeOnlyStream: jsii.Boolean(false),
	PeriodTriggers: []*string{
		jsii.String("periodTriggers"),
	},
	SegmentDurationSeconds: jsii.Number(123),
	SegmentTemplateFormat: jsii.String("segmentTemplateFormat"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashpackage.html

type CfnPackagingConfiguration_EncryptionContractConfigurationProperty added in v2.51.0

type CfnPackagingConfiguration_EncryptionContractConfigurationProperty struct {
	// 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-packagingconfiguration-encryptioncontractconfiguration.html#cfn-mediapackage-packagingconfiguration-encryptioncontractconfiguration-presetspeke20audio
	//
	PresetSpeke20Audio *string `field:"required" json:"presetSpeke20Audio" yaml:"presetSpeke20Audio"`
	// 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-packagingconfiguration-encryptioncontractconfiguration.html#cfn-mediapackage-packagingconfiguration-encryptioncontractconfiguration-presetspeke20video
	//
	PresetSpeke20Video *string `field:"required" json:"presetSpeke20Video" yaml:"presetSpeke20Video"`
}

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` .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

encryptionContractConfigurationProperty := &EncryptionContractConfigurationProperty{
	PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
	PresetSpeke20Video: jsii.String("presetSpeke20Video"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-encryptioncontractconfiguration.html

type CfnPackagingConfiguration_HlsEncryptionProperty

type CfnPackagingConfiguration_HlsEncryptionProperty struct {
	// Parameters for the SPEKE key provider.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-spekekeyprovider
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
	// A 128-bit, 16-byte hex value represented by a 32-character string, used with the key for encrypting blocks.
	//
	// If you don't specify a constant initialization vector (IV), AWS Elemental MediaPackage periodically rotates the IV.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-constantinitializationvector
	//
	ConstantInitializationVector *string `field:"optional" json:"constantInitializationVector" yaml:"constantInitializationVector"`
	// HLS encryption type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-encryptionmethod
	//
	EncryptionMethod *string `field:"optional" json:"encryptionMethod" yaml:"encryptionMethod"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

hlsEncryptionProperty := &HlsEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},

	// the properties below are optional
	ConstantInitializationVector: jsii.String("constantInitializationVector"),
	EncryptionMethod: jsii.String("encryptionMethod"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html

type CfnPackagingConfiguration_HlsManifestProperty

type CfnPackagingConfiguration_HlsManifestProperty struct {
	// This setting controls ad markers in the packaged content.
	//
	// 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-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-admarkers
	//
	AdMarkers *string `field:"optional" json:"adMarkers" yaml:"adMarkers"`
	// Applies to stream sets with a single video track only.
	//
	// When enabled, the output includes an additional I-frame only stream, along with the other tracks.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-includeiframeonlystream
	//
	IncludeIframeOnlyStream interface{} `field:"optional" json:"includeIframeOnlyStream" yaml:"includeIframeOnlyStream"`
	// A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-manifestname
	//
	ManifestName *string `field:"optional" json:"manifestName" yaml:"manifestName"`
	// Inserts `EXT-X-PROGRAM-DATE-TIME` tags in the output manifest at the interval that you specify.
	//
	// Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.
	//
	// Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
	//
	// Omit this attribute or enter `0` to indicate that the `EXT-X-PROGRAM-DATE-TIME` tags are not included in the manifest.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-programdatetimeintervalseconds
	//
	ProgramDateTimeIntervalSeconds *float64 `field:"optional" json:"programDateTimeIntervalSeconds" yaml:"programDateTimeIntervalSeconds"`
	// Repeat the `EXT-X-KEY` directive for every media segment.
	//
	// This might result in an increase in client requests to the DRM server.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-repeatextxkey
	//
	RepeatExtXKey interface{} `field:"optional" json:"repeatExtXKey" yaml:"repeatExtXKey"`
	// Video bitrate limitations for outputs from this packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html#cfn-mediapackage-packagingconfiguration-hlsmanifest-streamselection
	//
	StreamSelection interface{} `field:"optional" json:"streamSelection" yaml:"streamSelection"`
}

Parameters for an HLS manifest.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

hlsManifestProperty := &HlsManifestProperty{
	AdMarkers: jsii.String("adMarkers"),
	IncludeIframeOnlyStream: jsii.Boolean(false),
	ManifestName: jsii.String("manifestName"),
	ProgramDateTimeIntervalSeconds: jsii.Number(123),
	RepeatExtXKey: jsii.Boolean(false),
	StreamSelection: &StreamSelectionProperty{
		MaxVideoBitsPerSecond: jsii.Number(123),
		MinVideoBitsPerSecond: jsii.Number(123),
		StreamOrder: jsii.String("streamOrder"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsmanifest.html

type CfnPackagingConfiguration_HlsPackageProperty

type CfnPackagingConfiguration_HlsPackageProperty struct {
	// A list of HLS manifest configurations that are available from this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-hlsmanifests
	//
	HlsManifests interface{} `field:"required" json:"hlsManifests" yaml:"hlsManifests"`
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-includedvbsubtitles
	//
	IncludeDvbSubtitles interface{} `field:"optional" json:"includeDvbSubtitles" yaml:"includeDvbSubtitles"`
	// 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-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-segmentdurationseconds
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
	// When true, AWS Elemental MediaPackage bundles all audio tracks in a rendition group.
	//
	// All other tracks in the stream can be used with any audio rendition from the group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html#cfn-mediapackage-packagingconfiguration-hlspackage-useaudiorenditiongroup
	//
	UseAudioRenditionGroup interface{} `field:"optional" json:"useAudioRenditionGroup" yaml:"useAudioRenditionGroup"`
}

Parameters for a packaging configuration that uses HTTP Live Streaming (HLS) packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

hlsPackageProperty := &HlsPackageProperty{
	HlsManifests: []interface{}{
		&HlsManifestProperty{
			AdMarkers: jsii.String("adMarkers"),
			IncludeIframeOnlyStream: jsii.Boolean(false),
			ManifestName: jsii.String("manifestName"),
			ProgramDateTimeIntervalSeconds: jsii.Number(123),
			RepeatExtXKey: jsii.Boolean(false),
			StreamSelection: &StreamSelectionProperty{
				MaxVideoBitsPerSecond: jsii.Number(123),
				MinVideoBitsPerSecond: jsii.Number(123),
				StreamOrder: jsii.String("streamOrder"),
			},
		},
	},

	// the properties below are optional
	Encryption: &HlsEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},

		// the properties below are optional
		ConstantInitializationVector: jsii.String("constantInitializationVector"),
		EncryptionMethod: jsii.String("encryptionMethod"),
	},
	IncludeDvbSubtitles: jsii.Boolean(false),
	SegmentDurationSeconds: jsii.Number(123),
	UseAudioRenditionGroup: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlspackage.html

type CfnPackagingConfiguration_MssEncryptionProperty

type CfnPackagingConfiguration_MssEncryptionProperty struct {
	// Parameters for the SPEKE key provider.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html#cfn-mediapackage-packagingconfiguration-mssencryption-spekekeyprovider
	//
	SpekeKeyProvider interface{} `field:"required" json:"spekeKeyProvider" yaml:"spekeKeyProvider"`
}

Holds encryption information so that access to the content can be controlled by a DRM solution.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mssEncryptionProperty := &MssEncryptionProperty{
	SpekeKeyProvider: &SpekeKeyProviderProperty{
		RoleArn: jsii.String("roleArn"),
		SystemIds: []*string{
			jsii.String("systemIds"),
		},
		Url: jsii.String("url"),

		// the properties below are optional
		EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
			PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
			PresetSpeke20Video: jsii.String("presetSpeke20Video"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html

type CfnPackagingConfiguration_MssManifestProperty

type CfnPackagingConfiguration_MssManifestProperty struct {
	// A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html#cfn-mediapackage-packagingconfiguration-mssmanifest-manifestname
	//
	ManifestName *string `field:"optional" json:"manifestName" yaml:"manifestName"`
	// Video bitrate limitations for outputs from this packaging configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html#cfn-mediapackage-packagingconfiguration-mssmanifest-streamselection
	//
	StreamSelection interface{} `field:"optional" json:"streamSelection" yaml:"streamSelection"`
}

Parameters for a Microsoft Smooth manifest.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mssManifestProperty := &MssManifestProperty{
	ManifestName: jsii.String("manifestName"),
	StreamSelection: &StreamSelectionProperty{
		MaxVideoBitsPerSecond: jsii.Number(123),
		MinVideoBitsPerSecond: jsii.Number(123),
		StreamOrder: jsii.String("streamOrder"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssmanifest.html

type CfnPackagingConfiguration_MssPackageProperty

type CfnPackagingConfiguration_MssPackageProperty struct {
	// A list of Microsoft Smooth manifest configurations that are available from this endpoint.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-mssmanifests
	//
	MssManifests interface{} `field:"required" json:"mssManifests" yaml:"mssManifests"`
	// Parameters for encrypting content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-encryption
	//
	Encryption interface{} `field:"optional" json:"encryption" yaml:"encryption"`
	// 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-packagingconfiguration-msspackage.html#cfn-mediapackage-packagingconfiguration-msspackage-segmentdurationseconds
	//
	SegmentDurationSeconds *float64 `field:"optional" json:"segmentDurationSeconds" yaml:"segmentDurationSeconds"`
}

Parameters for a packaging configuration that uses Microsoft Smooth Streaming (MSS) packaging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mssPackageProperty := &MssPackageProperty{
	MssManifests: []interface{}{
		&MssManifestProperty{
			ManifestName: jsii.String("manifestName"),
			StreamSelection: &StreamSelectionProperty{
				MaxVideoBitsPerSecond: jsii.Number(123),
				MinVideoBitsPerSecond: jsii.Number(123),
				StreamOrder: jsii.String("streamOrder"),
			},
		},
	},

	// the properties below are optional
	Encryption: &MssEncryptionProperty{
		SpekeKeyProvider: &SpekeKeyProviderProperty{
			RoleArn: jsii.String("roleArn"),
			SystemIds: []*string{
				jsii.String("systemIds"),
			},
			Url: jsii.String("url"),

			// the properties below are optional
			EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
				PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
				PresetSpeke20Video: jsii.String("presetSpeke20Video"),
			},
		},
	},
	SegmentDurationSeconds: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-msspackage.html

type CfnPackagingConfiguration_SpekeKeyProviderProperty

type CfnPackagingConfiguration_SpekeKeyProviderProperty struct {
	// The ARN for the IAM role that's granted by the key provider to provide access to the key provider API.
	//
	// Valid format: arn:aws:iam::{accountID}:role/{name}.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-rolearn
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// 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-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-systemids
	//
	SystemIds *[]*string `field:"required" json:"systemIds" yaml:"systemIds"`
	// 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-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-url
	//
	Url *string `field:"required" json:"url" yaml:"url"`
	// 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-packagingconfiguration-spekekeyprovider.html#cfn-mediapackage-packagingconfiguration-spekekeyprovider-encryptioncontractconfiguration
	//
	EncryptionContractConfiguration interface{} `field:"optional" json:"encryptionContractConfiguration" yaml:"encryptionContractConfiguration"`
}

A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that provides encryption keys.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

spekeKeyProviderProperty := &SpekeKeyProviderProperty{
	RoleArn: jsii.String("roleArn"),
	SystemIds: []*string{
		jsii.String("systemIds"),
	},
	Url: jsii.String("url"),

	// the properties below are optional
	EncryptionContractConfiguration: &EncryptionContractConfigurationProperty{
		PresetSpeke20Audio: jsii.String("presetSpeke20Audio"),
		PresetSpeke20Video: jsii.String("presetSpeke20Video"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-spekekeyprovider.html

type CfnPackagingConfiguration_StreamSelectionProperty

type CfnPackagingConfiguration_StreamSelectionProperty struct {
	// 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-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-maxvideobitspersecond
	//
	MaxVideoBitsPerSecond *float64 `field:"optional" json:"maxVideoBitsPerSecond" yaml:"maxVideoBitsPerSecond"`
	// 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-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-minvideobitspersecond
	//
	MinVideoBitsPerSecond *float64 `field:"optional" json:"minVideoBitsPerSecond" yaml:"minVideoBitsPerSecond"`
	// 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-packagingconfiguration-streamselection.html#cfn-mediapackage-packagingconfiguration-streamselection-streamorder
	//
	StreamOrder *string `field:"optional" json:"streamOrder" yaml:"streamOrder"`
}

Limitations for outputs from the endpoint, based on the video bitrate.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

streamSelectionProperty := &StreamSelectionProperty{
	MaxVideoBitsPerSecond: jsii.Number(123),
	MinVideoBitsPerSecond: jsii.Number(123),
	StreamOrder: jsii.String("streamOrder"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-streamselection.html

type CfnPackagingGroup

type CfnPackagingGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The Amazon Resource Name (ARN) for the packaging group.
	//
	// You can get this from the response to any request to the packaging group.
	AttrArn() *string
	// The URL for the assets in the PackagingGroup.
	AttrDomainName() *string
	// Parameters for CDN authorization.
	Authorization() interface{}
	SetAuthorization(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The configuration parameters for egress access logging.
	EgressAccessLogs() interface{}
	SetEgressAccessLogs(val interface{})
	// Unique identifier that you assign to the packaging group.
	Id() *string
	SetId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The tags to assign to the packaging group.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a packaging group.

The packaging group holds one or more packaging configurations. When you create an asset, you specify the packaging group associated with the asset. The asset has playback endpoints for each packaging configuration within the group.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnPackagingGroup := awscdk.Aws_mediapackage.NewCfnPackagingGroup(this, jsii.String("MyCfnPackagingGroup"), &CfnPackagingGroupProps{
	Id: jsii.String("id"),

	// the properties below are optional
	Authorization: &AuthorizationProperty{
		CdnIdentifierSecret: jsii.String("cdnIdentifierSecret"),
		SecretsRoleArn: jsii.String("secretsRoleArn"),
	},
	EgressAccessLogs: &LogConfigurationProperty{
		LogGroupName: jsii.String("logGroupName"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html

func NewCfnPackagingGroup

func NewCfnPackagingGroup(scope constructs.Construct, id *string, props *CfnPackagingGroupProps) CfnPackagingGroup

type CfnPackagingGroupProps

type CfnPackagingGroupProps struct {
	// Unique identifier that you assign to the packaging group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-id
	//
	Id *string `field:"required" json:"id" yaml:"id"`
	// Parameters for CDN authorization.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-authorization
	//
	Authorization interface{} `field:"optional" json:"authorization" yaml:"authorization"`
	// The configuration parameters for egress access logging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-egressaccesslogs
	//
	EgressAccessLogs interface{} `field:"optional" json:"egressAccessLogs" yaml:"egressAccessLogs"`
	// The tags to assign to the packaging group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html#cfn-mediapackage-packaginggroup-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnPackagingGroup`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnPackagingGroupProps := &CfnPackagingGroupProps{
	Id: jsii.String("id"),

	// the properties below are optional
	Authorization: &AuthorizationProperty{
		CdnIdentifierSecret: jsii.String("cdnIdentifierSecret"),
		SecretsRoleArn: jsii.String("secretsRoleArn"),
	},
	EgressAccessLogs: &LogConfigurationProperty{
		LogGroupName: jsii.String("logGroupName"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html

type CfnPackagingGroup_AuthorizationProperty

type CfnPackagingGroup_AuthorizationProperty struct {
	// The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that is used for CDN authorization.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html#cfn-mediapackage-packaginggroup-authorization-cdnidentifiersecret
	//
	CdnIdentifierSecret *string `field:"required" json:"cdnIdentifierSecret" yaml:"cdnIdentifierSecret"`
	// 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-packaginggroup-authorization.html#cfn-mediapackage-packaginggroup-authorization-secretsrolearn
	//
	SecretsRoleArn *string `field:"required" json:"secretsRoleArn" yaml:"secretsRoleArn"`
}

Parameters for enabling CDN authorization.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

authorizationProperty := &AuthorizationProperty{
	CdnIdentifierSecret: jsii.String("cdnIdentifierSecret"),
	SecretsRoleArn: jsii.String("secretsRoleArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-authorization.html

type CfnPackagingGroup_LogConfigurationProperty

type CfnPackagingGroup_LogConfigurationProperty struct {
	// Sets a custom Amazon CloudWatch log group name for egress logs.
	//
	// If a log group name isn't specified, the default name is used: /aws/MediaPackage/EgressAccessLogs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-logconfiguration.html#cfn-mediapackage-packaginggroup-logconfiguration-loggroupname
	//
	LogGroupName *string `field:"optional" json:"logGroupName" yaml:"logGroupName"`
}

Sets a custom Amazon CloudWatch log group name for egress logs.

If a log group name isn't specified, the default name is used: /aws/MediaPackage/EgressAccessLogs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

logConfigurationProperty := &LogConfigurationProperty{
	LogGroupName: jsii.String("logGroupName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packaginggroup-logconfiguration.html

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL