@aws-cdk/aws-mediapackagev2-alpha 2.249.0-alpha.0 → 2.250.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.249.0",
11
+ "aws-cdk-lib": "^2.250.0",
12
12
  "constructs": "^10.5.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -590,6 +590,19 @@
590
590
  }
591
591
  }
592
592
  },
593
+ "aws-cdk-lib.aws_bcmpricingcalculator": {
594
+ "targets": {
595
+ "dotnet": {
596
+ "namespace": "Amazon.CDK.AWS.BcmPricingCalculator"
597
+ },
598
+ "java": {
599
+ "package": "software.amazon.awscdk.services.bcmpricingcalculator"
600
+ },
601
+ "python": {
602
+ "module": "aws_cdk.aws_bcmpricingcalculator"
603
+ }
604
+ }
605
+ },
593
606
  "aws-cdk-lib.aws_bedrock": {
594
607
  "targets": {
595
608
  "dotnet": {
@@ -642,6 +655,19 @@
642
655
  }
643
656
  }
644
657
  },
658
+ "aws-cdk-lib.aws_braket": {
659
+ "targets": {
660
+ "dotnet": {
661
+ "namespace": "Amazon.CDK.AWS.Braket"
662
+ },
663
+ "java": {
664
+ "package": "software.amazon.awscdk.services.braket"
665
+ },
666
+ "python": {
667
+ "module": "aws_cdk.aws_braket"
668
+ }
669
+ }
670
+ },
645
671
  "aws-cdk-lib.aws_budgets": {
646
672
  "targets": {
647
673
  "dotnet": {
@@ -3499,6 +3525,19 @@
3499
3525
  }
3500
3526
  }
3501
3527
  },
3528
+ "aws-cdk-lib.aws_s3files": {
3529
+ "targets": {
3530
+ "dotnet": {
3531
+ "namespace": "Amazon.CDK.AWS.S3Files"
3532
+ },
3533
+ "java": {
3534
+ "package": "software.amazon.awscdk.services.s3files"
3535
+ },
3536
+ "python": {
3537
+ "module": "aws_cdk.aws_s3files"
3538
+ }
3539
+ }
3540
+ },
3502
3541
  "aws-cdk-lib.aws_s3objectlambda": {
3503
3542
  "targets": {
3504
3543
  "dotnet": {
@@ -4730,6 +4769,22 @@
4730
4769
  }
4731
4770
  }
4732
4771
  },
4772
+ "aws-cdk-lib.interfaces.aws_bcmpricingcalculator": {
4773
+ "targets": {
4774
+ "dotnet": {
4775
+ "namespace": "Amazon.CDK.Interfaces.BcmPricingCalculator"
4776
+ },
4777
+ "go": {
4778
+ "packageName": "interfacesawsbcmpricingcalculator"
4779
+ },
4780
+ "java": {
4781
+ "package": "software.amazon.awscdk.interfaces.bcmpricingcalculator"
4782
+ },
4783
+ "python": {
4784
+ "module": "aws_cdk.interfaces.aws_bcmpricingcalculator"
4785
+ }
4786
+ }
4787
+ },
4733
4788
  "aws-cdk-lib.interfaces.aws_bedrock": {
4734
4789
  "targets": {
4735
4790
  "dotnet": {
@@ -4810,6 +4865,22 @@
4810
4865
  }
4811
4866
  }
4812
4867
  },
4868
+ "aws-cdk-lib.interfaces.aws_braket": {
4869
+ "targets": {
4870
+ "dotnet": {
4871
+ "namespace": "Amazon.CDK.Interfaces.Braket"
4872
+ },
4873
+ "go": {
4874
+ "packageName": "interfacesawsbraket"
4875
+ },
4876
+ "java": {
4877
+ "package": "software.amazon.awscdk.interfaces.braket"
4878
+ },
4879
+ "python": {
4880
+ "module": "aws_cdk.interfaces.aws_braket"
4881
+ }
4882
+ }
4883
+ },
4813
4884
  "aws-cdk-lib.interfaces.aws_budgets": {
4814
4885
  "targets": {
4815
4886
  "dotnet": {
@@ -7946,6 +8017,22 @@
7946
8017
  }
7947
8018
  }
7948
8019
  },
8020
+ "aws-cdk-lib.interfaces.aws_s3files": {
8021
+ "targets": {
8022
+ "dotnet": {
8023
+ "namespace": "Amazon.CDK.Interfaces.S3Files"
8024
+ },
8025
+ "go": {
8026
+ "packageName": "interfacesawss3files"
8027
+ },
8028
+ "java": {
8029
+ "package": "software.amazon.awscdk.interfaces.s3files"
8030
+ },
8031
+ "python": {
8032
+ "module": "aws_cdk.interfaces.aws_s3files"
8033
+ }
8034
+ }
8035
+ },
7949
8036
  "aws-cdk-lib.interfaces.aws_s3objectlambda": {
7950
8037
  "targets": {
7951
8038
  "dotnet": {
@@ -8843,7 +8930,7 @@
8843
8930
  },
8844
8931
  "name": "@aws-cdk/aws-mediapackagev2-alpha",
8845
8932
  "readme": {
8846
- "markdown": "# AWS::MediaPackageV2 Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n## AWS Elemental MediaPackage V2\n\nMediaPackage delivers high-quality video without concern for capacity and makes it easier to implement popular DVR features such as start over, pause, and rewind. Your content will be protected with comprehensive support for DRM. The service seamlessly integrates with other AWS media services as a complete set of tools for cloud-based video processing and delivery.\n\nThis package contains constructs for working with AWS Elemental MediaPackage V2. Allowing you to define AWS Elemental MediaPackage V2 Channel Groups, Channels, Origin Endpoints, Channel Policies and Origin Endpoint Policies.\n\nFor further information on AWS Elemental MediaPackage V2, see [the documentation](https://aws.amazon.com/mediapackage/).\n\nThe following example creates an AWS Elemental MediaPackage V2 Channel Group, Channel and Origin Endpoint:\n\n```ts\ndeclare const stack: Stack;\nconst group = new ChannelGroup(stack, 'MyChannelGroup', {\n channelGroupName: 'my-test-channel-group',\n});\n\nconst channel = new Channel(stack, 'MyChannel', {\n channelGroup: group,\n channelName: 'my-testchannel',\n input: InputConfiguration.cmaf(),\n});\n\nconst endpoint = new OriginEndpoint(stack, 'MyOriginEndpoint', {\n channel,\n originEndpointName: 'my-test-endpoint',\n segment: Segment.cmaf(),\n manifests: [Manifest.hls({\n manifestName: 'index',\n })],\n});\n```\n\n## Using Factory Methods\n\n```ts\ndeclare const stack: Stack;\n\n// Create a channel group\nconst group = new ChannelGroup(stack, 'MyChannelGroup', {\n channelGroupName: 'my-channel-group',\n});\n\n// Add a channel using the factory method\nconst channel = group.addChannel('MyChannel', {\n channelName: 'my-channel',\n input: InputConfiguration.cmaf(),\n});\n\n// Add an origin endpoint using the factory method\nconst endpoint = channel.addOriginEndpoint('MyEndpoint', {\n originEndpointName: 'my-endpoint',\n segment: Segment.cmaf(),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n## Channel Group\n\nA channel group is the top-level resource that consists of channels and origin endpoints associated with it.\n\nThe following code creates a Channel Group:\n\n```ts\ndeclare const stack: Stack;\nconst group = new ChannelGroup(stack, 'MyChannelGroup', {\n channelGroupName: 'my-test-channel-group',\n});\n```\n\nThe following code imports an existing channel group using the name attribute:\n\n```ts\ndeclare const stack: Stack;\nconst channelGroup = ChannelGroup.fromChannelGroupAttributes(stack, 'ImportedChannelGroup', {\n channelGroupName: 'MyChannelGroup',\n});\n```\n\n## Channel\n\nA channel is part of a channel group and represents the entry point for a content stream into MediaPackage.\n\n### Input Configuration\n\nChannels support two input types: HLS and CMAF.\n\n```ts\ndeclare const stack: Stack;\ndeclare const group: ChannelGroup;\n\nconst hlsChannel = new Channel(stack, 'HlsChannel', {\n channelGroup: group,\n input: InputConfiguration.hls(),\n});\n\nconst cmafChannel = new Channel(stack, 'CmafChannel', {\n channelGroup: group,\n input: InputConfiguration.cmaf({\n inputSwitchConfiguration: {\n mqcsInputSwitching: true,\n },\n outputHeaders: [HeadersCMSD.MQCS],\n }),\n});\n\nconst simpleCmafChannel = new Channel(stack, 'SimpleCmafChannel', {\n channelGroup: group,\n input: InputConfiguration.cmaf({\n outputHeaders: [HeadersCMSD.MQCS],\n }),\n});\n```\n\n### Importing an Existing Channel\n\nThe following code imports an existing channel using the name attributes:\n\n```ts\ndeclare const stack: Stack;\nconst channel = Channel.fromChannelAttributes(stack, 'ImportedChannel', {\n channelName: 'MyChannel',\n channelGroupName: 'MyChannelGroup',\n});\n```\n\n### Channel Resource Policy\n\nThe following code creates a resource policy directly on the channel. This\nwill automatically create a policy on the first call:\n\n```ts\ndeclare const channel: Channel;\nchannel.addToResourcePolicy(new PolicyStatement({\n sid: 'AllowMediaLiveRoleToAccessEmpChannel',\n principals: [new ArnPrincipal('arn:aws:iam::AccountID:role/MediaLiveAccessRole')],\n effect: Effect.ALLOW,\n actions: ['mediapackagev2:PutObject'],\n resources: [channel.channelArn],\n}));\n```\n\n## Origin Endpoint\n\n```ts\ndeclare const stack: Stack;\ndeclare const channel: Channel;\nnew OriginEndpoint(stack, 'myendpoint', {\n channel,\n originEndpointName: 'my-test-endpoint',\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n }),\n ],\n});\n```\n\nThe following code imports an existing origin endpoint using the name attributes:\n\n```ts\ndeclare const stack: Stack;\nconst originEndpoint = OriginEndpoint.fromOriginEndpointAttributes(stack, 'ImportedOriginEndpoint', {\n channelGroupName: 'MyChannelGroup',\n channelName: 'MyChannel',\n originEndpointName: 'MyExampleOriginEndpoint',\n});\n```\n\nThe following code creates a resource policy on the origin endpoint. This\nwill automatically create a policy on the first call:\n\n```ts\ndeclare const origin: OriginEndpoint;\n\norigin.addToResourcePolicy(new PolicyStatement({\n sid: 'AllowRequestsFromCloudFront',\n principals: [new ServicePrincipal('cloudfront.amazonaws.com')],\n effect: Effect.ALLOW,\n actions: ['mediapackagev2:GetHeadObject', 'mediapackagev2:GetObject'],\n resources: [origin.originEndpointArn],\n conditions: {\n StringEquals: {\n 'aws:SourceArn': 'arn:aws:cloudfront::123456789012:distribution/AAAAAAAAA',\n },\n },\n}));\n```\n\n## Granting Permissions\n\n### Granting Ingest Access to MediaLive\n\nTo allow AWS Elemental MediaLive to ingest content into a MediaPackage channel, use the `grants.ingest()` method:\n\n```ts\ndeclare const channel: Channel;\ndeclare const mediaLiveRole: iam.IRole;\n\n// Grant MediaLive permission to ingest content\nchannel.grants.ingest(mediaLiveRole);\n```\n\n### CloudFront Integration\n\nMediaPackage origin endpoints are designed to be used with Content Delivery Network (CDN) like Amazon CloudFront distributions. CloudFront provides caching, DDoS protection, and global content delivery for your streaming content.\n\nTo allow a CloudFront distribution to access a MediaPackage origin endpoint, add a resource policy with the CloudFront service principal:\n\n```ts\ndeclare const originEndpoint: OriginEndpoint;\ndeclare const distribution: cloudfront.Distribution;\n\noriginEndpoint.addToResourcePolicy(new iam.PolicyStatement({\n sid: 'AllowCloudFrontServicePrincipal',\n principals: [new iam.ServicePrincipal('cloudfront.amazonaws.com')],\n effect: iam.Effect.ALLOW,\n actions: ['mediapackagev2:GetObject', 'mediapackagev2:GetHeadObject'],\n resources: [originEndpoint.originEndpointArn],\n conditions: {\n StringEquals: {\n 'aws:SourceArn': distribution.distributionArn,\n },\n },\n}));\n```\n\nYou can complete the confirmation with an OAC (Origin Access Control) Policy on the CloudFront Distribution.\n\n## Manifest Configuration\n\nMediaPackage V2 supports multiple manifest formats: HLS, Low-Latency HLS (LL-HLS), DASH, and Microsoft Smooth Streaming (MSS).\n\n### HLS Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n manifestWindow: Duration.seconds(60),\n programDateTimeInterval: Duration.seconds(60),\n scteAdMarkerHls: AdMarkerHls.DATERANGE,\n }),\n ],\n});\n```\n\n### Low-Latency HLS Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.lowLatencyHLS({\n manifestName: 'index',\n manifestWindow: Duration.seconds(30),\n programDateTimeInterval: Duration.seconds(5),\n childManifestName: 'child',\n }),\n ],\n});\n```\n\n### DASH Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.dash({\n manifestName: 'index',\n manifestWindow: Duration.seconds(60),\n minBufferTime: Duration.seconds(30),\n minUpdatePeriod: Duration.seconds(10),\n segmentTemplateFormat: SegmentTemplateFormat.NUMBER_WITH_TIMELINE,\n periodTriggers: [\n DashPeriodTriggers.AVAILS,\n DashPeriodTriggers.DRM_KEY_ROTATION,\n ],\n }),\n ],\n});\n```\n\n### MSS Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.ism(),\n manifests: [\n Manifest.mss({\n manifestName: 'index',\n manifestWindow: Duration.seconds(60),\n manifestLayout: MssManifestLayout.COMPACT,\n }),\n ],\n});\n```\n\n### Multiple Manifests\n\nYou can configure multiple manifest formats for a single origin endpoint:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({ manifestName: 'hls' }),\n Manifest.dash({ manifestName: 'dash' }),\n ],\n});\n```\n\n| Segment type | Supported manifests |\n|--------|--------|\n| Segment.cmaf() | HLS, LL-HLS, DASH |\n| Segment.ts() | HLS, LL-HLS |\n| Segment.ism() | MSS |\n\nEach origin endpoint has a single segment configuration. If you need segments with different configurations, use multiple origin endpoints on the same channel.\n\n@see https://docs.aws.amazon.com/mediapackage/latest/userguide/endpoints-create.html\n\n## Manifest Filtering\n\nManifest filters control which variants are included in the manifest. Filters are type-safe and validated against the [MediaPackage manifest filtering rules](https://docs.aws.amazon.com/mediapackage/latest/userguide/manifest-filter-query-parameters.html).\n\n| Filter | Method |\n|--------|--------|\n| Audio / video bitrate | `bitrate()`, `bitrateRange()`, `bitrateCombo()` |\n| Audio channels, sample rate, video height, framerate, trickplay height | `numeric()`, `numericList()`, `numericRange()`, `numericCombo()` |\n| Audio codec | `audioCodec()`, `audioCodecList()` |\n| Video codec | `videoCodec()`, `videoCodecList()` |\n| Video dynamic range | `videoDynamicRange()`, `videoDynamicRangeList()` |\n| Trickplay type | `trickplayType()`, `trickplayTypeList()` |\n| Audio / subtitle language | `text()`, `textList()` |\n| Advanced patterns | `custom()` |\n\nThe following example creates an HD streaming endpoint that serves only H.264/H.265 content between 1–5 Mbps with stereo audio in English or French:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n filterConfiguration: {\n manifestFilter: [\n ManifestFilter.bitrateRange(BitrateFilterKey.VIDEO_BITRATE, Bitrate.mbps(1), Bitrate.mbps(5)),\n ManifestFilter.numericRange(NumericFilterKey.VIDEO_HEIGHT, 720, 1080),\n ManifestFilter.videoCodecList([VideoCodec.H264, VideoCodec.H265]),\n ManifestFilter.numeric(NumericFilterKey.AUDIO_CHANNELS, 2),\n ManifestFilter.textList(TextFilterKey.AUDIO_LANGUAGE, ['en-US', 'fr']),\n ],\n timeDelay: Duration.seconds(30),\n },\n }),\n ],\n});\n```\n\nFor advanced patterns that combine ranges and single values, use `numericCombo()` or `bitrateCombo()`:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n filterConfiguration: {\n manifestFilter: [\n // video_height:240-360,720-1080,1440\n ManifestFilter.numericCombo(NumericFilterKey.VIDEO_HEIGHT, [\n NumericExpression.range(240, 360),\n NumericExpression.range(720, 1080),\n NumericExpression.value(1440),\n ]),\n ],\n },\n }),\n ],\n});\n```\n\n### DRM Settings\n\nYou can exclude session keys from HLS and LL-HLS multivariant playlists using the `drmSettings` filter configuration. This improves compatibility with legacy HLS clients and provides more granular access control:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n filterConfiguration: {\n drmSettings: [DrmSettingsKey.EXCLUDE_SESSION_KEYS],\n },\n }),\n ],\n});\n```\n\n## Start Tag Configuration\n\nConfigure where playback should start in HLS and LL-HLS manifests using the EXT-X-START tag:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n startTag: StartTag.of(10),\n }),\n ],\n});\n```\n\n## Segment Configuration\n\nConfigure segment settings for your origin endpoint.\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'TsEndpoint', {\n channel,\n segment: Segment.ts({\n duration: Duration.seconds(6),\n name: 'segment',\n includeDvbSubtitles: true,\n useAudioRenditionGroup: true,\n includeIframeOnlyStreams: false,\n scteFilter: [\n ScteMessageType.BREAK,\n ScteMessageType.DISTRIBUTOR_ADVERTISEMENT,\n ],\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n\nnew OriginEndpoint(this, 'CmafEndpoint', {\n channel,\n segment: Segment.cmaf({\n duration: Duration.seconds(6),\n name: 'segment',\n includeIframeOnlyStreams: true,\n scteFilter: [ScteMessageType.DISTRIBUTOR_ADVERTISEMENT],\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n## Encryption and DRM\n\nProtect your content with encryption using SPEKE (Secure Packager and Encoder Key Exchange). Each container type has its own encryption class with type-safe options:\n\n### CMAF Encryption\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf({\n encryption: CmafEncryption.speke({\n method: CmafEncryptionMethod.CBCS,\n drmSystems: [CmafDrmSystem.FAIRPLAY, CmafDrmSystem.WIDEVINE],\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n keyRotationInterval: Duration.seconds(300),\n audioPreset: PresetSpeke20Audio.PRESET_AUDIO_2,\n videoPreset: PresetSpeke20Video.PRESET_VIDEO_2,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n### TS Encryption\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'TsEndpoint', {\n channel,\n segment: Segment.ts({\n encryption: TsEncryption.speke({\n method: TsEncryptionMethod.SAMPLE_AES,\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\nTS encryption defaults the DRM system based on the method: FairPlay for `SAMPLE_AES`, Clear Key AES 128 for `AES_128`. You can override this with the `drmSystems` property using `TsDrmSystem`.\n\n### Content Key Encryption\n\nYou can add content key encryption by providing a certificate imported into AWS Certificate Manager. Your DRM key provider must support content key encryption for this to work:\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\ndeclare const certificate: certificatemanager.ICertificate;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf({\n encryption: CmafEncryption.speke({\n method: CmafEncryptionMethod.CBCS,\n drmSystems: [CmafDrmSystem.FAIRPLAY],\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n certificate,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n### Excluding Segment DRM Metadata\n\nFor CMAF content, you can exclude DRM metadata from segments:\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf({\n encryption: CmafEncryption.speke({\n method: CmafEncryptionMethod.CBCS,\n drmSystems: [CmafDrmSystem.FAIRPLAY],\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n excludeSegmentDrmMetadata: true,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n### ISM (Smooth Streaming) Encryption\n\nISM endpoints use CENC encryption with PlayReady. Audio and video presets are always `SHARED`, and key rotation is not supported. The DRM system defaults to PlayReady:\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'IsmEndpoint', {\n channel,\n segment: Segment.ism({\n encryption: IsmEncryption.speke({\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n }),\n }),\n manifests: [Manifest.mss({ manifestName: 'index' })],\n});\n```\n\n## CloudWatch Metrics\n\nMediaPackage V2 resources expose CloudWatch metrics for monitoring. You can create alarms and dashboards using these metrics:\n\n```ts\ndeclare const channelGroup: ChannelGroup;\ndeclare const channel: Channel;\ndeclare const endpoint: OriginEndpoint;\n\n// Create a CloudWatch alarm on channel group egress bytes\nconst alarm = channelGroup.metricEgressBytes().createAlarm(this, 'HighEgress', {\n threshold: 1000,\n evaluationPeriods: 1,\n});\n\n// Monitor channel ingress response time\nchannel.metricIngressResponseTime().createAlarm(this, 'SlowIngress', {\n threshold: 1000,\n evaluationPeriods: 2,\n});\n\n// Track origin endpoint request count\nconst requestMetric = endpoint.metricEgressRequestCount({\n statistic: 'sum',\n period: Duration.minutes(5),\n});\n```\n\nAvailable metrics include:\n\n- `metricIngressBytes()` - Bytes ingested\n- `metricEgressBytes()` - Bytes delivered\n- `metricIngressResponseTime()` - Ingress response time (average)\n- `metricEgressResponseTime()` - Egress response time (average)\n- `metricIngressRequestCount()` - Number of ingress requests\n- `metricEgressRequestCount()` - Number of egress requests\n\nAll metrics support standard CloudWatch metric options for customizing period, statistic, and dimensions.\n"
8933
+ "markdown": "# AWS::MediaPackageV2 Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n## AWS Elemental MediaPackage V2\n\nMediaPackage delivers high-quality video without concern for capacity and makes it easier to implement popular DVR features such as start over, pause, and rewind. Your content will be protected with comprehensive support for DRM. The service seamlessly integrates with other AWS media services as a complete set of tools for cloud-based video processing and delivery.\n\nThis package contains constructs for working with AWS Elemental MediaPackage V2. Allowing you to define AWS Elemental MediaPackage V2 Channel Groups, Channels, Origin Endpoints, Channel Policies and Origin Endpoint Policies.\n\nFor further information on AWS Elemental MediaPackage V2, see [the documentation](https://aws.amazon.com/mediapackage/).\n\nThe following example creates an AWS Elemental MediaPackage V2 Channel Group, Channel and Origin Endpoint:\n\n```ts\ndeclare const stack: Stack;\nconst group = new ChannelGroup(stack, 'MyChannelGroup', {\n channelGroupName: 'my-test-channel-group',\n});\n\nconst channel = new Channel(stack, 'MyChannel', {\n channelGroup: group,\n channelName: 'my-testchannel',\n input: InputConfiguration.cmaf(),\n});\n\nconst endpoint = new OriginEndpoint(stack, 'MyOriginEndpoint', {\n channel,\n originEndpointName: 'my-test-endpoint',\n segment: Segment.cmaf(),\n manifests: [Manifest.hls({\n manifestName: 'index',\n })],\n});\n```\n\n## Using Factory Methods\n\n```ts\ndeclare const stack: Stack;\n\n// Create a channel group\nconst group = new ChannelGroup(stack, 'MyChannelGroup', {\n channelGroupName: 'my-channel-group',\n});\n\n// Add a channel using the factory method\nconst channel = group.addChannel('MyChannel', {\n channelName: 'my-channel',\n input: InputConfiguration.cmaf(),\n});\n\n// Add an origin endpoint using the factory method\nconst endpoint = channel.addOriginEndpoint('MyEndpoint', {\n originEndpointName: 'my-endpoint',\n segment: Segment.cmaf(),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n## Channel Group\n\nA channel group is the top-level resource that consists of channels and origin endpoints associated with it.\n\nThe following code creates a Channel Group:\n\n```ts\ndeclare const stack: Stack;\nconst group = new ChannelGroup(stack, 'MyChannelGroup', {\n channelGroupName: 'my-test-channel-group',\n});\n```\n\nThe following code imports an existing channel group using the name attribute:\n\n```ts\ndeclare const stack: Stack;\nconst channelGroup = ChannelGroup.fromChannelGroupAttributes(stack, 'ImportedChannelGroup', {\n channelGroupName: 'MyChannelGroup',\n});\n```\n\nYou can also import from an ARN, which automatically extracts the name and region:\n\n```ts\ndeclare const stack: Stack;\nconst channelGroup = ChannelGroup.fromChannelGroupArn(stack, 'ImportedChannelGroup',\n 'arn:aws:mediapackagev2:us-west-2:123456789012:channelGroup/MyChannelGroup',\n);\n```\n\nFor cross-region imports, pass the `region` parameter to ensure the correct ARN is constructed:\n\n```ts\ndeclare const stack: Stack;\nconst channelGroup = ChannelGroup.fromChannelGroupAttributes(stack, 'ImportedChannelGroup', {\n channelGroupName: 'MyChannelGroup',\n region: 'us-west-2',\n});\n```\n\n## Channel\n\nA channel is part of a channel group and represents the entry point for a content stream into MediaPackage.\n\n### Input Configuration\n\nChannels support two input types: HLS and CMAF.\n\n```ts\ndeclare const stack: Stack;\ndeclare const group: ChannelGroup;\n\nconst hlsChannel = new Channel(stack, 'HlsChannel', {\n channelGroup: group,\n input: InputConfiguration.hls(),\n});\n\nconst cmafChannel = new Channel(stack, 'CmafChannel', {\n channelGroup: group,\n input: InputConfiguration.cmaf({\n inputSwitchConfiguration: {\n mqcsInputSwitching: true,\n },\n outputHeaders: [HeadersCMSD.MQCS],\n }),\n});\n\nconst simpleCmafChannel = new Channel(stack, 'SimpleCmafChannel', {\n channelGroup: group,\n input: InputConfiguration.cmaf({\n outputHeaders: [HeadersCMSD.MQCS],\n }),\n});\n```\n\n### Importing an Existing Channel\n\nThe following code imports an existing channel using the name attributes:\n\n```ts\ndeclare const stack: Stack;\nconst channel = Channel.fromChannelAttributes(stack, 'ImportedChannel', {\n channelName: 'MyChannel',\n channelGroupName: 'MyChannelGroup',\n});\n```\n\nYou can also import from an ARN:\n\n```ts\ndeclare const stack: Stack;\nconst channel = Channel.fromChannelArn(stack, 'ImportedChannel',\n 'arn:aws:mediapackagev2:us-west-2:123456789012:channelGroup/MyGroup/channel/MyChannel',\n);\n```\n\nImported channels expose a `region` property, which is parsed from the ARN or falls back to the importing stack's region.\n\n### Channel Resource Policy\n\nThe following code creates a resource policy directly on the channel. This\nwill automatically create a policy on the first call:\n\n```ts\ndeclare const channel: Channel;\nchannel.addToResourcePolicy(new PolicyStatement({\n sid: 'AllowMediaLiveRoleToAccessEmpChannel',\n principals: [new ArnPrincipal('arn:aws:iam::AccountID:role/MediaLiveAccessRole')],\n effect: Effect.ALLOW,\n actions: ['mediapackagev2:PutObject'],\n resources: [channel.channelArn],\n}));\n```\n\n## Origin Endpoint\n\n```ts\ndeclare const stack: Stack;\ndeclare const channel: Channel;\nnew OriginEndpoint(stack, 'myendpoint', {\n channel,\n originEndpointName: 'my-test-endpoint',\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n }),\n ],\n});\n```\n\nThe following code imports an existing origin endpoint using the name attributes:\n\n```ts\ndeclare const stack: Stack;\nconst originEndpoint = OriginEndpoint.fromOriginEndpointAttributes(stack, 'ImportedOriginEndpoint', {\n channelGroupName: 'MyChannelGroup',\n channelName: 'MyChannel',\n originEndpointName: 'MyExampleOriginEndpoint',\n});\n```\n\nYou can also import from an ARN:\n\n```ts\ndeclare const stack: Stack;\nconst originEndpoint = OriginEndpoint.fromOriginEndpointArn(stack, 'ImportedOriginEndpoint',\n 'arn:aws:mediapackagev2:us-west-2:123456789012:channelGroup/MyGroup/channel/MyChannel/originEndpoint/MyEndpoint',\n);\n```\n\nThe following code creates a resource policy on the origin endpoint. This\nwill automatically create a policy on the first call:\n\n```ts\ndeclare const origin: OriginEndpoint;\n\norigin.addToResourcePolicy(new PolicyStatement({\n sid: 'AllowRequestsFromCloudFront',\n principals: [new ServicePrincipal('cloudfront.amazonaws.com')],\n effect: Effect.ALLOW,\n actions: ['mediapackagev2:GetHeadObject', 'mediapackagev2:GetObject'],\n resources: [origin.originEndpointArn],\n conditions: {\n StringEquals: {\n 'aws:SourceArn': 'arn:aws:cloudfront::123456789012:distribution/AAAAAAAAA',\n },\n },\n}));\n```\n\n## Granting Permissions\n\n### Granting Ingest Access to MediaLive\n\nTo allow AWS Elemental MediaLive to ingest content into a MediaPackage channel, use the `grants.ingest()` method:\n\n```ts\ndeclare const channel: Channel;\ndeclare const mediaLiveRole: iam.IRole;\n\n// Grant MediaLive permission to ingest content\nchannel.grants.ingest(mediaLiveRole);\n```\n\n### CloudFront Integration\n\nMediaPackage origin endpoints are designed to be used with Content Delivery Network (CDN) like Amazon CloudFront distributions. CloudFront provides caching, DDoS protection, and global content delivery for your streaming content.\n\nTo allow a CloudFront distribution to access a MediaPackage origin endpoint, add a resource policy with the CloudFront service principal:\n\n```ts\ndeclare const originEndpoint: OriginEndpoint;\ndeclare const distribution: cloudfront.Distribution;\n\noriginEndpoint.addToResourcePolicy(new iam.PolicyStatement({\n sid: 'AllowCloudFrontServicePrincipal',\n principals: [new iam.ServicePrincipal('cloudfront.amazonaws.com')],\n effect: iam.Effect.ALLOW,\n actions: ['mediapackagev2:GetObject', 'mediapackagev2:GetHeadObject'],\n resources: [originEndpoint.originEndpointArn],\n conditions: {\n StringEquals: {\n 'aws:SourceArn': distribution.distributionArn,\n },\n },\n}));\n```\n\nYou can complete the confirmation with an OAC (Origin Access Control) Policy on the CloudFront Distribution.\n\n## Manifest Configuration\n\nMediaPackage V2 supports multiple manifest formats: HLS, Low-Latency HLS (LL-HLS), DASH, and Microsoft Smooth Streaming (MSS).\n\n### HLS Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n manifestWindow: Duration.seconds(60),\n programDateTimeInterval: Duration.seconds(60),\n scteAdMarkerHls: AdMarkerHls.DATERANGE,\n }),\n ],\n});\n```\n\n### Low-Latency HLS Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.lowLatencyHLS({\n manifestName: 'index',\n manifestWindow: Duration.seconds(30),\n programDateTimeInterval: Duration.seconds(5),\n childManifestName: 'child',\n }),\n ],\n});\n```\n\n### DASH Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.dash({\n manifestName: 'index',\n manifestWindow: Duration.seconds(60),\n minBufferTime: Duration.seconds(30),\n minUpdatePeriod: Duration.seconds(10),\n segmentTemplateFormat: SegmentTemplateFormat.NUMBER_WITH_TIMELINE,\n periodTriggers: [\n DashPeriodTriggers.AVAILS,\n DashPeriodTriggers.DRM_KEY_ROTATION,\n ],\n }),\n ],\n});\n```\n\n### MSS Manifests\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.ism(),\n manifests: [\n Manifest.mss({\n manifestName: 'index',\n manifestWindow: Duration.seconds(60),\n manifestLayout: MssManifestLayout.COMPACT,\n }),\n ],\n});\n```\n\n### Multiple Manifests\n\nYou can configure multiple manifest formats for a single origin endpoint:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({ manifestName: 'hls' }),\n Manifest.dash({ manifestName: 'dash' }),\n ],\n});\n```\n\n| Segment type | Supported manifests |\n|--------|--------|\n| Segment.cmaf() | HLS, LL-HLS, DASH |\n| Segment.ts() | HLS, LL-HLS |\n| Segment.ism() | MSS |\n\nEach origin endpoint has a single segment configuration. If you need segments with different configurations, use multiple origin endpoints on the same channel.\n\n@see https://docs.aws.amazon.com/mediapackage/latest/userguide/endpoints-create.html\n\n## Manifest Filtering\n\nManifest filters control which variants are included in the manifest. Filters are type-safe and validated against the [MediaPackage manifest filtering rules](https://docs.aws.amazon.com/mediapackage/latest/userguide/manifest-filter-query-parameters.html).\n\n| Filter | Method |\n|--------|--------|\n| Audio / video bitrate | `bitrate()`, `bitrateRange()`, `bitrateCombo()` |\n| Audio channels, sample rate, video height, framerate, trickplay height | `numeric()`, `numericList()`, `numericRange()`, `numericCombo()` |\n| Audio codec | `audioCodec()`, `audioCodecList()` |\n| Video codec | `videoCodec()`, `videoCodecList()` |\n| Video dynamic range | `videoDynamicRange()`, `videoDynamicRangeList()` |\n| Trickplay type | `trickplayType()`, `trickplayTypeList()` |\n| Audio / subtitle language | `text()`, `textList()` |\n| Advanced patterns | `custom()` |\n\nThe following example creates an HD streaming endpoint that serves only H.264/H.265 content between 1–5 Mbps with stereo audio in English or French:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n filterConfiguration: {\n manifestFilter: [\n ManifestFilter.bitrateRange(BitrateFilterKey.VIDEO_BITRATE, Bitrate.mbps(1), Bitrate.mbps(5)),\n ManifestFilter.numericRange(NumericFilterKey.VIDEO_HEIGHT, 720, 1080),\n ManifestFilter.videoCodecList([VideoCodec.H264, VideoCodec.H265]),\n ManifestFilter.numeric(NumericFilterKey.AUDIO_CHANNELS, 2),\n ManifestFilter.textList(TextFilterKey.AUDIO_LANGUAGE, ['en-US', 'fr']),\n ],\n timeDelay: Duration.seconds(30),\n },\n }),\n ],\n});\n```\n\nFor advanced patterns that combine ranges and single values, use `numericCombo()` or `bitrateCombo()`:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n filterConfiguration: {\n manifestFilter: [\n // video_height:240-360,720-1080,1440\n ManifestFilter.numericCombo(NumericFilterKey.VIDEO_HEIGHT, [\n NumericExpression.range(240, 360),\n NumericExpression.range(720, 1080),\n NumericExpression.value(1440),\n ]),\n ],\n },\n }),\n ],\n});\n```\n\n### DRM Settings\n\nYou can exclude session keys from HLS and LL-HLS multivariant playlists using the `drmSettings` filter configuration. This improves compatibility with legacy HLS clients and provides more granular access control:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n filterConfiguration: {\n drmSettings: [DrmSettingsKey.EXCLUDE_SESSION_KEYS],\n },\n }),\n ],\n});\n```\n\n## Start Tag Configuration\n\nConfigure where playback should start in HLS and LL-HLS manifests using the EXT-X-START tag:\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [\n Manifest.hls({\n manifestName: 'index',\n startTag: StartTag.of(10),\n }),\n ],\n});\n```\n\n## Segment Configuration\n\nConfigure segment settings for your origin endpoint.\n\n```ts\ndeclare const channel: Channel;\n\nnew OriginEndpoint(this, 'TsEndpoint', {\n channel,\n segment: Segment.ts({\n duration: Duration.seconds(6),\n name: 'segment',\n includeDvbSubtitles: true,\n useAudioRenditionGroup: true,\n includeIframeOnlyStreams: false,\n scteFilter: [\n ScteMessageType.BREAK,\n ScteMessageType.DISTRIBUTOR_ADVERTISEMENT,\n ],\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n\nnew OriginEndpoint(this, 'CmafEndpoint', {\n channel,\n segment: Segment.cmaf({\n duration: Duration.seconds(6),\n name: 'segment',\n includeIframeOnlyStreams: true,\n scteFilter: [ScteMessageType.DISTRIBUTOR_ADVERTISEMENT],\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf(),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n## Encryption and DRM\n\nProtect your content with encryption using SPEKE (Secure Packager and Encoder Key Exchange). Each container type has its own encryption class with type-safe options:\n\n### CMAF Encryption\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf({\n encryption: CmafEncryption.speke({\n method: CmafEncryptionMethod.CBCS,\n drmSystems: [CmafDrmSystem.FAIRPLAY, CmafDrmSystem.WIDEVINE],\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n keyRotationInterval: Duration.seconds(300),\n audioPreset: PresetSpeke20Audio.PRESET_AUDIO_2,\n videoPreset: PresetSpeke20Video.PRESET_VIDEO_2,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n### TS Encryption\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'TsEndpoint', {\n channel,\n segment: Segment.ts({\n encryption: TsEncryption.speke({\n method: TsEncryptionMethod.SAMPLE_AES,\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\nTS encryption defaults the DRM system based on the method: FairPlay for `SAMPLE_AES`, Clear Key AES 128 for `AES_128`. You can override this with the `drmSystems` property using `TsDrmSystem`.\n\n### Content Key Encryption\n\nYou can add content key encryption by providing a certificate imported into AWS Certificate Manager. Your DRM key provider must support content key encryption for this to work:\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\ndeclare const certificate: certificatemanager.ICertificate;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf({\n encryption: CmafEncryption.speke({\n method: CmafEncryptionMethod.CBCS,\n drmSystems: [CmafDrmSystem.FAIRPLAY],\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n certificate,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n### Excluding Segment DRM Metadata\n\nFor CMAF content, you can exclude DRM metadata from segments:\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'Endpoint', {\n channel,\n segment: Segment.cmaf({\n encryption: CmafEncryption.speke({\n method: CmafEncryptionMethod.CBCS,\n drmSystems: [CmafDrmSystem.FAIRPLAY],\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n excludeSegmentDrmMetadata: true,\n }),\n }),\n manifests: [Manifest.hls({ manifestName: 'index' })],\n});\n```\n\n### ISM (Smooth Streaming) Encryption\n\nISM endpoints use CENC encryption with PlayReady. Audio and video presets are always `SHARED`, and key rotation is not supported. The DRM system defaults to PlayReady:\n\n```ts\ndeclare const channel: Channel;\ndeclare const spekeRole: iam.IRole;\n\nnew OriginEndpoint(this, 'IsmEndpoint', {\n channel,\n segment: Segment.ism({\n encryption: IsmEncryption.speke({\n resourceId: 'my-content-id',\n url: 'https://example.com/speke',\n role: spekeRole,\n }),\n }),\n manifests: [Manifest.mss({ manifestName: 'index' })],\n});\n```\n\n## CloudWatch Metrics\n\nMediaPackage V2 resources expose CloudWatch metrics for monitoring. You can create alarms and dashboards using these metrics:\n\n```ts\ndeclare const channelGroup: ChannelGroup;\ndeclare const channel: Channel;\ndeclare const endpoint: OriginEndpoint;\n\n// Create a CloudWatch alarm on channel group egress bytes\nconst alarm = channelGroup.metricEgressBytes().createAlarm(this, 'HighEgress', {\n threshold: 1000,\n evaluationPeriods: 1,\n});\n\n// Monitor channel ingress response time\nchannel.metricIngressResponseTime().createAlarm(this, 'SlowIngress', {\n threshold: 1000,\n evaluationPeriods: 2,\n});\n\n// Track origin endpoint request count\nconst requestMetric = endpoint.metricEgressRequestCount({\n statistic: 'sum',\n period: Duration.minutes(5),\n});\n```\n\nAvailable metrics include:\n\n- `metricIngressBytes()` - Bytes ingested\n- `metricEgressBytes()` - Bytes delivered\n- `metricIngressResponseTime()` - Ingress response time (average)\n- `metricEgressResponseTime()` - Egress response time (average)\n- `metricIngressRequestCount()` - Number of ingress requests\n- `metricEgressRequestCount()` - Number of egress requests\n\nAll metrics support standard CloudWatch metric options for customizing period, statistic, and dimensions.\n"
8847
8934
  },
8848
8935
  "repository": {
8849
8936
  "directory": "packages/@aws-cdk/aws-mediapackagev2-alpha",
@@ -9230,7 +9317,7 @@
9230
9317
  },
9231
9318
  "locationInModule": {
9232
9319
  "filename": "lib/channel.ts",
9233
- "line": 590
9320
+ "line": 639
9234
9321
  },
9235
9322
  "parameters": [
9236
9323
  {
@@ -9259,9 +9346,47 @@
9259
9346
  "kind": "class",
9260
9347
  "locationInModule": {
9261
9348
  "filename": "lib/channel.ts",
9262
- "line": 562
9349
+ "line": 610
9263
9350
  },
9264
9351
  "methods": [
9352
+ {
9353
+ "docs": {
9354
+ "remarks": "The ARN is expected to be in the format:\n`arn:<partition>:mediapackagev2:<region>:<account>:channelGroup/<groupName>/channel/<channelName>`",
9355
+ "stability": "experimental",
9356
+ "summary": "Creates a Channel construct that represents an external (imported) Channel from its ARN."
9357
+ },
9358
+ "locationInModule": {
9359
+ "filename": "lib/channel.ts",
9360
+ "line": 380
9361
+ },
9362
+ "name": "fromChannelArn",
9363
+ "parameters": [
9364
+ {
9365
+ "name": "scope",
9366
+ "type": {
9367
+ "fqn": "constructs.Construct"
9368
+ }
9369
+ },
9370
+ {
9371
+ "name": "id",
9372
+ "type": {
9373
+ "primitive": "string"
9374
+ }
9375
+ },
9376
+ {
9377
+ "name": "channelArn",
9378
+ "type": {
9379
+ "primitive": "string"
9380
+ }
9381
+ }
9382
+ ],
9383
+ "returns": {
9384
+ "type": {
9385
+ "fqn": "@aws-cdk/aws-mediapackagev2-alpha.IChannel"
9386
+ }
9387
+ },
9388
+ "static": true
9389
+ },
9265
9390
  {
9266
9391
  "docs": {
9267
9392
  "stability": "experimental",
@@ -9269,7 +9394,7 @@
9269
9394
  },
9270
9395
  "locationInModule": {
9271
9396
  "filename": "lib/channel.ts",
9272
- "line": 363
9397
+ "line": 408
9273
9398
  },
9274
9399
  "name": "fromChannelAttributes",
9275
9400
  "parameters": [
@@ -9306,7 +9431,7 @@
9306
9431
  },
9307
9432
  "locationInModule": {
9308
9433
  "filename": "lib/channel.ts",
9309
- "line": 428
9434
+ "line": 476
9310
9435
  },
9311
9436
  "name": "addOriginEndpoint",
9312
9437
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9338,7 +9463,7 @@
9338
9463
  },
9339
9464
  "locationInModule": {
9340
9465
  "filename": "lib/channel.ts",
9341
- "line": 441
9466
+ "line": 489
9342
9467
  },
9343
9468
  "name": "addToResourcePolicy",
9344
9469
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9363,7 +9488,7 @@
9363
9488
  },
9364
9489
  "locationInModule": {
9365
9490
  "filename": "lib/channel.ts",
9366
- "line": 462
9491
+ "line": 510
9367
9492
  },
9368
9493
  "name": "metric",
9369
9494
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9402,7 +9527,7 @@
9402
9527
  },
9403
9528
  "locationInModule": {
9404
9529
  "filename": "lib/channel.ts",
9405
- "line": 493
9530
+ "line": 541
9406
9531
  },
9407
9532
  "name": "metricEgressBytes",
9408
9533
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9429,7 +9554,7 @@
9429
9554
  },
9430
9555
  "locationInModule": {
9431
9556
  "filename": "lib/channel.ts",
9432
- "line": 549
9557
+ "line": 597
9433
9558
  },
9434
9559
  "name": "metricEgressRequestCount",
9435
9560
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9456,7 +9581,7 @@
9456
9581
  },
9457
9582
  "locationInModule": {
9458
9583
  "filename": "lib/channel.ts",
9459
- "line": 521
9584
+ "line": 569
9460
9585
  },
9461
9586
  "name": "metricEgressResponseTime",
9462
9587
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9483,7 +9608,7 @@
9483
9608
  },
9484
9609
  "locationInModule": {
9485
9610
  "filename": "lib/channel.ts",
9486
- "line": 479
9611
+ "line": 527
9487
9612
  },
9488
9613
  "name": "metricIngressBytes",
9489
9614
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9510,7 +9635,7 @@
9510
9635
  },
9511
9636
  "locationInModule": {
9512
9637
  "filename": "lib/channel.ts",
9513
- "line": 535
9638
+ "line": 583
9514
9639
  },
9515
9640
  "name": "metricIngressRequestCount",
9516
9641
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9537,7 +9662,7 @@
9537
9662
  },
9538
9663
  "locationInModule": {
9539
9664
  "filename": "lib/channel.ts",
9540
- "line": 507
9665
+ "line": 555
9541
9666
  },
9542
9667
  "name": "metricIngressResponseTime",
9543
9668
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9568,7 +9693,7 @@
9568
9693
  "immutable": true,
9569
9694
  "locationInModule": {
9570
9695
  "filename": "lib/channel.ts",
9571
- "line": 565
9696
+ "line": 613
9572
9697
  },
9573
9698
  "name": "PROPERTY_INJECTION_ID",
9574
9699
  "static": true,
@@ -9584,7 +9709,7 @@
9584
9709
  "immutable": true,
9585
9710
  "locationInModule": {
9586
9711
  "filename": "lib/channel.ts",
9587
- "line": 569
9712
+ "line": 617
9588
9713
  },
9589
9714
  "name": "channelArn",
9590
9715
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9601,7 +9726,7 @@
9601
9726
  "immutable": true,
9602
9727
  "locationInModule": {
9603
9728
  "filename": "lib/channel.ts",
9604
- "line": 567
9729
+ "line": 615
9605
9730
  },
9606
9731
  "name": "channelGroupName",
9607
9732
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9618,7 +9743,7 @@
9618
9743
  "immutable": true,
9619
9744
  "locationInModule": {
9620
9745
  "filename": "lib/channel.ts",
9621
- "line": 568
9746
+ "line": 616
9622
9747
  },
9623
9748
  "name": "channelName",
9624
9749
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9634,7 +9759,7 @@
9634
9759
  "immutable": true,
9635
9760
  "locationInModule": {
9636
9761
  "filename": "lib/channel.ts",
9637
- "line": 400
9762
+ "line": 448
9638
9763
  },
9639
9764
  "name": "channelRef",
9640
9765
  "overrides": "aws-cdk-lib.interfaces.aws_mediapackagev2.IChannelRef",
@@ -9650,7 +9775,7 @@
9650
9775
  "immutable": true,
9651
9776
  "locationInModule": {
9652
9777
  "filename": "lib/channel.ts",
9653
- "line": 423
9778
+ "line": 471
9654
9779
  },
9655
9780
  "name": "grants",
9656
9781
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9666,7 +9791,7 @@
9666
9791
  "immutable": true,
9667
9792
  "locationInModule": {
9668
9793
  "filename": "lib/channel.ts",
9669
- "line": 585
9794
+ "line": 634
9670
9795
  },
9671
9796
  "name": "ingestEndpointUrls",
9672
9797
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
@@ -9679,6 +9804,22 @@
9679
9804
  }
9680
9805
  }
9681
9806
  },
9807
+ {
9808
+ "docs": {
9809
+ "stability": "experimental",
9810
+ "summary": "The AWS region where this channel lives."
9811
+ },
9812
+ "immutable": true,
9813
+ "locationInModule": {
9814
+ "filename": "lib/channel.ts",
9815
+ "line": 619
9816
+ },
9817
+ "name": "region",
9818
+ "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannel",
9819
+ "type": {
9820
+ "primitive": "string"
9821
+ }
9822
+ },
9682
9823
  {
9683
9824
  "docs": {
9684
9825
  "remarks": "Only available when the channel was created in the same stack.\nUndefined for imported channels.",
@@ -9688,7 +9829,7 @@
9688
9829
  "immutable": true,
9689
9830
  "locationInModule": {
9690
9831
  "filename": "lib/channel.ts",
9691
- "line": 570
9832
+ "line": 618
9692
9833
  },
9693
9834
  "name": "channelGroup",
9694
9835
  "optional": true,
@@ -9705,7 +9846,7 @@
9705
9846
  "immutable": true,
9706
9847
  "locationInModule": {
9707
9848
  "filename": "lib/channel.ts",
9708
- "line": 575
9849
+ "line": 624
9709
9850
  },
9710
9851
  "name": "createdAt",
9711
9852
  "optional": true,
@@ -9722,7 +9863,7 @@
9722
9863
  "immutable": true,
9723
9864
  "locationInModule": {
9724
9865
  "filename": "lib/channel.ts",
9725
- "line": 580
9866
+ "line": 629
9726
9867
  },
9727
9868
  "name": "modifiedAt",
9728
9869
  "optional": true,
@@ -9738,7 +9879,7 @@
9738
9879
  },
9739
9880
  "locationInModule": {
9740
9881
  "filename": "lib/channel.ts",
9741
- "line": 588
9882
+ "line": 637
9742
9883
  },
9743
9884
  "name": "autoCreatePolicy",
9744
9885
  "protected": true,
@@ -9754,7 +9895,7 @@
9754
9895
  },
9755
9896
  "locationInModule": {
9756
9897
  "filename": "lib/channel.ts",
9757
- "line": 587
9898
+ "line": 636
9758
9899
  },
9759
9900
  "name": "policy",
9760
9901
  "optional": true,
@@ -9780,7 +9921,7 @@
9780
9921
  "kind": "interface",
9781
9922
  "locationInModule": {
9782
9923
  "filename": "lib/channel.ts",
9783
- "line": 340
9924
+ "line": 345
9784
9925
  },
9785
9926
  "name": "ChannelAttributes",
9786
9927
  "properties": [
@@ -9796,7 +9937,7 @@
9796
9937
  "immutable": true,
9797
9938
  "locationInModule": {
9798
9939
  "filename": "lib/channel.ts",
9799
- "line": 353
9940
+ "line": 358
9800
9941
  },
9801
9942
  "name": "channelGroupName",
9802
9943
  "type": {
@@ -9815,12 +9956,31 @@
9815
9956
  "immutable": true,
9816
9957
  "locationInModule": {
9817
9958
  "filename": "lib/channel.ts",
9818
- "line": 346
9959
+ "line": 351
9819
9960
  },
9820
9961
  "name": "channelName",
9821
9962
  "type": {
9822
9963
  "primitive": "string"
9823
9964
  }
9965
+ },
9966
+ {
9967
+ "abstract": true,
9968
+ "docs": {
9969
+ "default": "- the importing stack's region",
9970
+ "remarks": "Required for cross-region imports to construct the correct ARN.",
9971
+ "stability": "experimental",
9972
+ "summary": "The AWS region where the channel lives."
9973
+ },
9974
+ "immutable": true,
9975
+ "locationInModule": {
9976
+ "filename": "lib/channel.ts",
9977
+ "line": 367
9978
+ },
9979
+ "name": "region",
9980
+ "optional": true,
9981
+ "type": {
9982
+ "primitive": "string"
9983
+ }
9824
9984
  }
9825
9985
  ],
9826
9986
  "symbolId": "lib/channel:ChannelAttributes"
@@ -9988,7 +10148,7 @@
9988
10148
  },
9989
10149
  "locationInModule": {
9990
10150
  "filename": "lib/group.ts",
9991
- "line": 387
10151
+ "line": 423
9992
10152
  },
9993
10153
  "parameters": [
9994
10154
  {
@@ -10018,9 +10178,46 @@
10018
10178
  "kind": "class",
10019
10179
  "locationInModule": {
10020
10180
  "filename": "lib/group.ts",
10021
- "line": 357
10181
+ "line": 393
10022
10182
  },
10023
10183
  "methods": [
10184
+ {
10185
+ "docs": {
10186
+ "stability": "experimental",
10187
+ "summary": "Creates a Channel Group construct that represents an external (imported) Channel Group from its ARN."
10188
+ },
10189
+ "locationInModule": {
10190
+ "filename": "lib/group.ts",
10191
+ "line": 183
10192
+ },
10193
+ "name": "fromChannelGroupArn",
10194
+ "parameters": [
10195
+ {
10196
+ "name": "scope",
10197
+ "type": {
10198
+ "fqn": "constructs.Construct"
10199
+ }
10200
+ },
10201
+ {
10202
+ "name": "id",
10203
+ "type": {
10204
+ "primitive": "string"
10205
+ }
10206
+ },
10207
+ {
10208
+ "name": "channelGroupArn",
10209
+ "type": {
10210
+ "primitive": "string"
10211
+ }
10212
+ }
10213
+ ],
10214
+ "returns": {
10215
+ "type": {
10216
+ "fqn": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup"
10217
+ }
10218
+ },
10219
+ "static": true
10220
+ },
10024
10221
  {
10025
10222
  "docs": {
10026
10223
  "stability": "experimental",
@@ -10028,7 +10225,7 @@
10028
10225
  },
10029
10226
  "locationInModule": {
10030
10227
  "filename": "lib/group.ts",
10031
- "line": 174
10228
+ "line": 209
10032
10229
  },
10033
10230
  "name": "fromChannelGroupAttributes",
10034
10231
  "parameters": [
@@ -10065,7 +10262,7 @@
10065
10262
  },
10066
10263
  "locationInModule": {
10067
10264
  "filename": "lib/group.ts",
10068
- "line": 346
10265
+ "line": 382
10069
10266
  },
10070
10267
  "name": "addChannel",
10071
10268
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10097,7 +10294,7 @@
10097
10294
  },
10098
10295
  "locationInModule": {
10099
10296
  "filename": "lib/group.ts",
10100
- "line": 248
10297
+ "line": 284
10101
10298
  },
10102
10299
  "name": "metric",
10103
10300
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10136,7 +10333,7 @@
10136
10333
  },
10137
10334
  "locationInModule": {
10138
10335
  "filename": "lib/group.ts",
10139
- "line": 278
10336
+ "line": 314
10140
10337
  },
10141
10338
  "name": "metricEgressBytes",
10142
10339
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10163,7 +10360,7 @@
10163
10360
  },
10164
10361
  "locationInModule": {
10165
10362
  "filename": "lib/group.ts",
10166
- "line": 334
10363
+ "line": 370
10167
10364
  },
10168
10365
  "name": "metricEgressRequestCount",
10169
10366
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10190,7 +10387,7 @@
10190
10387
  },
10191
10388
  "locationInModule": {
10192
10389
  "filename": "lib/group.ts",
10193
- "line": 306
10390
+ "line": 342
10194
10391
  },
10195
10392
  "name": "metricEgressResponseTime",
10196
10393
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10217,7 +10414,7 @@
10217
10414
  },
10218
10415
  "locationInModule": {
10219
10416
  "filename": "lib/group.ts",
10220
- "line": 264
10417
+ "line": 300
10221
10418
  },
10222
10419
  "name": "metricIngressBytes",
10223
10420
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10244,7 +10441,7 @@
10244
10441
  },
10245
10442
  "locationInModule": {
10246
10443
  "filename": "lib/group.ts",
10247
- "line": 320
10444
+ "line": 356
10248
10445
  },
10249
10446
  "name": "metricIngressRequestCount",
10250
10447
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10271,7 +10468,7 @@
10271
10468
  },
10272
10469
  "locationInModule": {
10273
10470
  "filename": "lib/group.ts",
10274
- "line": 292
10471
+ "line": 328
10275
10472
  },
10276
10473
  "name": "metricIngressResponseTime",
10277
10474
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10302,7 +10499,7 @@
10302
10499
  "immutable": true,
10303
10500
  "locationInModule": {
10304
10501
  "filename": "lib/group.ts",
10305
- "line": 360
10502
+ "line": 396
10306
10503
  },
10307
10504
  "name": "PROPERTY_INJECTION_ID",
10308
10505
  "static": true,
@@ -10318,7 +10515,7 @@
10318
10515
  "immutable": true,
10319
10516
  "locationInModule": {
10320
10517
  "filename": "lib/group.ts",
10321
- "line": 385
10518
+ "line": 421
10322
10519
  },
10323
10520
  "name": "channelGroupArn",
10324
10521
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10335,7 +10532,7 @@
10335
10532
  "immutable": true,
10336
10533
  "locationInModule": {
10337
10534
  "filename": "lib/group.ts",
10338
- "line": 380
10535
+ "line": 416
10339
10536
  },
10340
10537
  "name": "channelGroupName",
10341
10538
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10352,7 +10549,7 @@
10352
10549
  "immutable": true,
10353
10550
  "locationInModule": {
10354
10551
  "filename": "lib/group.ts",
10355
- "line": 236
10552
+ "line": 272
10356
10553
  },
10357
10554
  "name": "channelGroupRef",
10358
10555
  "overrides": "aws-cdk-lib.interfaces.aws_mediapackagev2.IChannelGroupRef",
@@ -10369,7 +10566,7 @@
10369
10566
  "immutable": true,
10370
10567
  "locationInModule": {
10371
10568
  "filename": "lib/group.ts",
10372
- "line": 375
10569
+ "line": 411
10373
10570
  },
10374
10571
  "name": "egressDomain",
10375
10572
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IChannelGroup",
@@ -10385,7 +10582,7 @@
10385
10582
  "immutable": true,
10386
10583
  "locationInModule": {
10387
10584
  "filename": "lib/group.ts",
10388
- "line": 365
10585
+ "line": 401
10389
10586
  },
10390
10587
  "name": "createdAt",
10391
10588
  "optional": true,
@@ -10402,7 +10599,7 @@
10402
10599
  "immutable": true,
10403
10600
  "locationInModule": {
10404
10601
  "filename": "lib/group.ts",
10405
- "line": 370
10602
+ "line": 406
10406
10603
  },
10407
10604
  "name": "modifiedAt",
10408
10605
  "optional": true,
@@ -10467,6 +10664,25 @@
10467
10664
  "type": {
10468
10665
  "primitive": "string"
10469
10666
  }
10667
+ },
10668
+ {
10669
+ "abstract": true,
10670
+ "docs": {
10671
+ "default": "- the importing stack's region",
10672
+ "remarks": "Required for cross-region imports to construct the correct ARN.",
10673
+ "stability": "experimental",
10674
+ "summary": "The AWS region where the channel group lives."
10675
+ },
10676
+ "immutable": true,
10677
+ "locationInModule": {
10678
+ "filename": "lib/group.ts",
10679
+ "line": 173
10680
+ },
10681
+ "name": "region",
10682
+ "optional": true,
10683
+ "type": {
10684
+ "primitive": "string"
10685
+ }
10470
10686
  }
10471
10687
  ],
10472
10688
  "symbolId": "lib/group:ChannelGroupAttributes"
@@ -10588,7 +10804,7 @@
10588
10804
  "kind": "interface",
10589
10805
  "locationInModule": {
10590
10806
  "filename": "lib/channel.ts",
10591
- "line": 284
10807
+ "line": 289
10592
10808
  },
10593
10809
  "name": "ChannelOptions",
10594
10810
  "properties": [
@@ -10603,7 +10819,7 @@
10603
10819
  "immutable": true,
10604
10820
  "locationInModule": {
10605
10821
  "filename": "lib/channel.ts",
10606
- "line": 290
10822
+ "line": 295
10607
10823
  },
10608
10824
  "name": "channelName",
10609
10825
  "optional": true,
@@ -10621,7 +10837,7 @@
10621
10837
  "immutable": true,
10622
10838
  "locationInModule": {
10623
10839
  "filename": "lib/channel.ts",
10624
- "line": 305
10840
+ "line": 310
10625
10841
  },
10626
10842
  "name": "description",
10627
10843
  "optional": true,
@@ -10640,7 +10856,7 @@
10640
10856
  "immutable": true,
10641
10857
  "locationInModule": {
10642
10858
  "filename": "lib/channel.ts",
10643
- "line": 298
10859
+ "line": 303
10644
10860
  },
10645
10861
  "name": "input",
10646
10862
  "optional": true,
@@ -10659,7 +10875,7 @@
10659
10875
  "immutable": true,
10660
10876
  "locationInModule": {
10661
10877
  "filename": "lib/channel.ts",
10662
- "line": 324
10878
+ "line": 329
10663
10879
  },
10664
10880
  "name": "removalPolicy",
10665
10881
  "optional": true,
@@ -10677,7 +10893,7 @@
10677
10893
  "immutable": true,
10678
10894
  "locationInModule": {
10679
10895
  "filename": "lib/channel.ts",
10680
- "line": 312
10896
+ "line": 317
10681
10897
  },
10682
10898
  "name": "tags",
10683
10899
  "optional": true,
@@ -10851,7 +11067,7 @@
10851
11067
  "kind": "interface",
10852
11068
  "locationInModule": {
10853
11069
  "filename": "lib/channel.ts",
10854
- "line": 330
11070
+ "line": 335
10855
11071
  },
10856
11072
  "name": "ChannelProps",
10857
11073
  "properties": [
@@ -10864,7 +11080,7 @@
10864
11080
  "immutable": true,
10865
11081
  "locationInModule": {
10866
11082
  "filename": "lib/channel.ts",
10867
- "line": 334
11083
+ "line": 339
10868
11084
  },
10869
11085
  "name": "channelGroup",
10870
11086
  "type": {
@@ -10885,7 +11101,7 @@
10885
11101
  "kind": "enum",
10886
11102
  "locationInModule": {
10887
11103
  "filename": "lib/endpoint.ts",
10888
- "line": 1891
11104
+ "line": 1900
10889
11105
  },
10890
11106
  "members": [
10891
11107
  {
@@ -10936,7 +11152,7 @@
10936
11152
  "kind": "class",
10937
11153
  "locationInModule": {
10938
11154
  "filename": "lib/endpoint.ts",
10939
- "line": 2146
11155
+ "line": 2155
10940
11156
  },
10941
11157
  "methods": [
10942
11158
  {
@@ -10946,7 +11162,7 @@
10946
11162
  },
10947
11163
  "locationInModule": {
10948
11164
  "filename": "lib/endpoint.ts",
10949
- "line": 2150
11165
+ "line": 2159
10950
11166
  },
10951
11167
  "name": "speke",
10952
11168
  "parameters": [
@@ -11018,7 +11234,7 @@
11018
11234
  "kind": "interface",
11019
11235
  "locationInModule": {
11020
11236
  "filename": "lib/channel.ts",
11021
- "line": 219
11237
+ "line": 224
11022
11238
  },
11023
11239
  "name": "CmafInputProps",
11024
11240
  "properties": [
@@ -11032,7 +11248,7 @@
11032
11248
  "immutable": true,
11033
11249
  "locationInModule": {
11034
11250
  "filename": "lib/channel.ts",
11035
- "line": 225
11251
+ "line": 230
11036
11252
  },
11037
11253
  "name": "inputSwitchConfiguration",
11038
11254
  "optional": true,
@@ -11050,7 +11266,7 @@
11050
11266
  "immutable": true,
11051
11267
  "locationInModule": {
11052
11268
  "filename": "lib/channel.ts",
11053
- "line": 232
11269
+ "line": 237
11054
11270
  },
11055
11271
  "name": "outputHeaders",
11056
11272
  "optional": true,
@@ -11084,7 +11300,7 @@
11084
11300
  "kind": "interface",
11085
11301
  "locationInModule": {
11086
11302
  "filename": "lib/endpoint.ts",
11087
- "line": 2444
11303
+ "line": 2453
11088
11304
  },
11089
11305
  "name": "CmafSegmentProps",
11090
11306
  "properties": [
@@ -11099,7 +11315,7 @@
11099
11315
  "immutable": true,
11100
11316
  "locationInModule": {
11101
11317
  "filename": "lib/endpoint.ts",
11102
- "line": 2466
11318
+ "line": 2475
11103
11319
  },
11104
11320
  "name": "encryption",
11105
11321
  "optional": true,
@@ -11117,7 +11333,7 @@
11117
11333
  "immutable": true,
11118
11334
  "locationInModule": {
11119
11335
  "filename": "lib/endpoint.ts",
11120
- "line": 2450
11336
+ "line": 2459
11121
11337
  },
11122
11338
  "name": "scteFilter",
11123
11339
  "optional": true,
@@ -11140,7 +11356,7 @@
11140
11356
  "immutable": true,
11141
11357
  "locationInModule": {
11142
11358
  "filename": "lib/endpoint.ts",
11143
- "line": 2457
11359
+ "line": 2466
11144
11360
  },
11145
11361
  "name": "scteInSegments",
11146
11362
  "optional": true,
@@ -11166,7 +11382,7 @@
11166
11382
  "kind": "interface",
11167
11383
  "locationInModule": {
11168
11384
  "filename": "lib/endpoint.ts",
11169
- "line": 1992
11385
+ "line": 2001
11170
11386
  },
11171
11387
  "name": "CmafSpekeEncryptionProps",
11172
11388
  "properties": [
@@ -11180,7 +11396,7 @@
11180
11396
  "immutable": true,
11181
11397
  "locationInModule": {
11182
11398
  "filename": "lib/endpoint.ts",
11183
- "line": 2004
11399
+ "line": 2013
11184
11400
  },
11185
11401
  "name": "drmSystems",
11186
11402
  "type": {
@@ -11201,7 +11417,7 @@
11201
11417
  "immutable": true,
11202
11418
  "locationInModule": {
11203
11419
  "filename": "lib/endpoint.ts",
11204
- "line": 1996
11420
+ "line": 2005
11205
11421
  },
11206
11422
  "name": "method",
11207
11423
  "type": {
@@ -11218,7 +11434,7 @@
11218
11434
  "immutable": true,
11219
11435
  "locationInModule": {
11220
11436
  "filename": "lib/endpoint.ts",
11221
- "line": 1949
11437
+ "line": 1958
11222
11438
  },
11223
11439
  "name": "resourceId",
11224
11440
  "type": {
@@ -11235,7 +11451,7 @@
11235
11451
  "immutable": true,
11236
11452
  "locationInModule": {
11237
11453
  "filename": "lib/endpoint.ts",
11238
- "line": 1957
11454
+ "line": 1966
11239
11455
  },
11240
11456
  "name": "role",
11241
11457
  "type": {
@@ -11251,7 +11467,7 @@
11251
11467
  "immutable": true,
11252
11468
  "locationInModule": {
11253
11469
  "filename": "lib/endpoint.ts",
11254
- "line": 1962
11470
+ "line": 1971
11255
11471
  },
11256
11472
  "name": "url",
11257
11473
  "type": {
@@ -11268,7 +11484,7 @@
11268
11484
  "immutable": true,
11269
11485
  "locationInModule": {
11270
11486
  "filename": "lib/endpoint.ts",
11271
- "line": 1979
11487
+ "line": 1988
11272
11488
  },
11273
11489
  "name": "audioPreset",
11274
11490
  "optional": true,
@@ -11287,7 +11503,7 @@
11287
11503
  "immutable": true,
11288
11504
  "locationInModule": {
11289
11505
  "filename": "lib/endpoint.ts",
11290
- "line": 1972
11506
+ "line": 1981
11291
11507
  },
11292
11508
  "name": "certificate",
11293
11509
  "optional": true,
@@ -11306,7 +11522,7 @@
11306
11522
  "immutable": true,
11307
11523
  "locationInModule": {
11308
11524
  "filename": "lib/endpoint.ts",
11309
- "line": 2014
11525
+ "line": 2023
11310
11526
  },
11311
11527
  "name": "constantInitializationVector",
11312
11528
  "optional": true,
@@ -11324,7 +11540,7 @@
11324
11540
  "immutable": true,
11325
11541
  "locationInModule": {
11326
11542
  "filename": "lib/endpoint.ts",
11327
- "line": 2028
11543
+ "line": 2037
11328
11544
  },
11329
11545
  "name": "excludeSegmentDrmMetadata",
11330
11546
  "optional": true,
@@ -11342,7 +11558,7 @@
11342
11558
  "immutable": true,
11343
11559
  "locationInModule": {
11344
11560
  "filename": "lib/endpoint.ts",
11345
- "line": 2021
11561
+ "line": 2030
11346
11562
  },
11347
11563
  "name": "keyRotationInterval",
11348
11564
  "optional": true,
@@ -11360,7 +11576,7 @@
11360
11576
  "immutable": true,
11361
11577
  "locationInModule": {
11362
11578
  "filename": "lib/endpoint.ts",
11363
- "line": 1986
11579
+ "line": 1995
11364
11580
  },
11365
11581
  "name": "videoPreset",
11366
11582
  "optional": true,
@@ -12467,7 +12683,7 @@
12467
12683
  "kind": "class",
12468
12684
  "locationInModule": {
12469
12685
  "filename": "lib/endpoint.ts",
12470
- "line": 2109
12686
+ "line": 2118
12471
12687
  },
12472
12688
  "name": "EncryptionConfiguration",
12473
12689
  "symbolId": "lib/endpoint:EncryptionConfiguration"
@@ -12677,7 +12893,7 @@
12677
12893
  "kind": "class",
12678
12894
  "locationInModule": {
12679
12895
  "filename": "lib/channel.ts",
12680
- "line": 196
12896
+ "line": 201
12681
12897
  },
12682
12898
  "methods": [
12683
12899
  {
@@ -12687,7 +12903,7 @@
12687
12903
  },
12688
12904
  "locationInModule": {
12689
12905
  "filename": "lib/channel.ts",
12690
- "line": 205
12906
+ "line": 210
12691
12907
  },
12692
12908
  "name": "of",
12693
12909
  "parameters": [
@@ -12717,7 +12933,7 @@
12717
12933
  "immutable": true,
12718
12934
  "locationInModule": {
12719
12935
  "filename": "lib/channel.ts",
12720
- "line": 200
12936
+ "line": 205
12721
12937
  },
12722
12938
  "name": "MQCS",
12723
12939
  "static": true,
@@ -12733,7 +12949,7 @@
12733
12949
  "immutable": true,
12734
12950
  "locationInModule": {
12735
12951
  "filename": "lib/channel.ts",
12736
- "line": 213
12952
+ "line": 218
12737
12953
  },
12738
12954
  "name": "value",
12739
12955
  "type": {
@@ -12938,7 +13154,7 @@
12938
13154
  },
12939
13155
  "locationInModule": {
12940
13156
  "filename": "lib/channel.ts",
12941
- "line": 96
13157
+ "line": 101
12942
13158
  },
12943
13159
  "name": "addOriginEndpoint",
12944
13160
  "parameters": [
@@ -12970,7 +13186,7 @@
12970
13186
  },
12971
13187
  "locationInModule": {
12972
13188
  "filename": "lib/channel.ts",
12973
- "line": 104
13189
+ "line": 109
12974
13190
  },
12975
13191
  "name": "addToResourcePolicy",
12976
13192
  "parameters": [
@@ -12995,7 +13211,7 @@
12995
13211
  },
12996
13212
  "locationInModule": {
12997
13213
  "filename": "lib/channel.ts",
12998
- "line": 112
13214
+ "line": 117
12999
13215
  },
13000
13216
  "name": "metric",
13001
13217
  "parameters": [
@@ -13034,7 +13250,7 @@
13034
13250
  },
13035
13251
  "locationInModule": {
13036
13252
  "filename": "lib/channel.ts",
13037
- "line": 126
13253
+ "line": 131
13038
13254
  },
13039
13255
  "name": "metricEgressBytes",
13040
13256
  "parameters": [
@@ -13061,7 +13277,7 @@
13061
13277
  },
13062
13278
  "locationInModule": {
13063
13279
  "filename": "lib/channel.ts",
13064
- "line": 154
13280
+ "line": 159
13065
13281
  },
13066
13282
  "name": "metricEgressRequestCount",
13067
13283
  "parameters": [
@@ -13088,7 +13304,7 @@
13088
13304
  },
13089
13305
  "locationInModule": {
13090
13306
  "filename": "lib/channel.ts",
13091
- "line": 140
13307
+ "line": 145
13092
13308
  },
13093
13309
  "name": "metricEgressResponseTime",
13094
13310
  "parameters": [
@@ -13115,7 +13331,7 @@
13115
13331
  },
13116
13332
  "locationInModule": {
13117
13333
  "filename": "lib/channel.ts",
13118
- "line": 119
13334
+ "line": 124
13119
13335
  },
13120
13336
  "name": "metricIngressBytes",
13121
13337
  "parameters": [
@@ -13142,7 +13358,7 @@
13142
13358
  },
13143
13359
  "locationInModule": {
13144
13360
  "filename": "lib/channel.ts",
13145
- "line": 147
13361
+ "line": 152
13146
13362
  },
13147
13363
  "name": "metricIngressRequestCount",
13148
13364
  "parameters": [
@@ -13169,7 +13385,7 @@
13169
13385
  },
13170
13386
  "locationInModule": {
13171
13387
  "filename": "lib/channel.ts",
13172
- "line": 133
13388
+ "line": 138
13173
13389
  },
13174
13390
  "name": "metricIngressResponseTime",
13175
13391
  "parameters": [
@@ -13258,7 +13474,7 @@
13258
13474
  "immutable": true,
13259
13475
  "locationInModule": {
13260
13476
  "filename": "lib/channel.ts",
13261
- "line": 91
13477
+ "line": 96
13262
13478
  },
13263
13479
  "name": "grants",
13264
13480
  "type": {
@@ -13289,6 +13505,22 @@
13289
13505
  }
13290
13506
  }
13291
13507
  },
13508
+ {
13509
+ "abstract": true,
13510
+ "docs": {
13511
+ "stability": "experimental",
13512
+ "summary": "The AWS region where this channel lives."
13513
+ },
13514
+ "immutable": true,
13515
+ "locationInModule": {
13516
+ "filename": "lib/channel.ts",
13517
+ "line": 91
13518
+ },
13519
+ "name": "region",
13520
+ "type": {
13521
+ "primitive": "string"
13522
+ }
13523
+ },
13292
13524
  {
13293
13525
  "abstract": true,
13294
13526
  "docs": {
@@ -14196,7 +14428,7 @@
14196
14428
  "kind": "enum",
14197
14429
  "locationInModule": {
14198
14430
  "filename": "lib/channel.ts",
14199
- "line": 160
14431
+ "line": 165
14200
14432
  },
14201
14433
  "members": [
14202
14434
  {
@@ -14232,7 +14464,7 @@
14232
14464
  "kind": "class",
14233
14465
  "locationInModule": {
14234
14466
  "filename": "lib/channel.ts",
14235
- "line": 242
14467
+ "line": 247
14236
14468
  },
14237
14469
  "methods": [
14238
14470
  {
@@ -14242,7 +14474,7 @@
14242
14474
  },
14243
14475
  "locationInModule": {
14244
14476
  "filename": "lib/channel.ts",
14245
- "line": 255
14477
+ "line": 260
14246
14478
  },
14247
14479
  "name": "cmaf",
14248
14480
  "parameters": [
@@ -14271,7 +14503,7 @@
14271
14503
  },
14272
14504
  "locationInModule": {
14273
14505
  "filename": "lib/channel.ts",
14274
- "line": 246
14506
+ "line": 251
14275
14507
  },
14276
14508
  "name": "hls",
14277
14509
  "returns": {
@@ -14292,7 +14524,7 @@
14292
14524
  "immutable": true,
14293
14525
  "locationInModule": {
14294
14526
  "filename": "lib/channel.ts",
14295
- "line": 267
14527
+ "line": 272
14296
14528
  },
14297
14529
  "name": "inputType",
14298
14530
  "type": {
@@ -14307,7 +14539,7 @@
14307
14539
  "immutable": true,
14308
14540
  "locationInModule": {
14309
14541
  "filename": "lib/channel.ts",
14310
- "line": 271
14542
+ "line": 276
14311
14543
  },
14312
14544
  "name": "inputSwitchConfiguration",
14313
14545
  "optional": true,
@@ -14323,7 +14555,7 @@
14323
14555
  "immutable": true,
14324
14556
  "locationInModule": {
14325
14557
  "filename": "lib/channel.ts",
14326
- "line": 275
14558
+ "line": 280
14327
14559
  },
14328
14560
  "name": "outputHeaders",
14329
14561
  "optional": true,
@@ -14354,7 +14586,7 @@
14354
14586
  "kind": "interface",
14355
14587
  "locationInModule": {
14356
14588
  "filename": "lib/channel.ts",
14357
- "line": 174
14589
+ "line": 179
14358
14590
  },
14359
14591
  "name": "InputSwitchConfiguration",
14360
14592
  "properties": [
@@ -14369,7 +14601,7 @@
14369
14601
  "immutable": true,
14370
14602
  "locationInModule": {
14371
14603
  "filename": "lib/channel.ts",
14372
- "line": 182
14604
+ "line": 187
14373
14605
  },
14374
14606
  "name": "mqcsInputSwitching",
14375
14607
  "optional": true,
@@ -14388,7 +14620,7 @@
14388
14620
  "immutable": true,
14389
14621
  "locationInModule": {
14390
14622
  "filename": "lib/channel.ts",
14391
- "line": 190
14623
+ "line": 195
14392
14624
  },
14393
14625
  "name": "preferredInput",
14394
14626
  "optional": true,
@@ -14441,7 +14673,7 @@
14441
14673
  "kind": "enum",
14442
14674
  "locationInModule": {
14443
14675
  "filename": "lib/endpoint.ts",
14444
- "line": 1931
14676
+ "line": 1940
14445
14677
  },
14446
14678
  "members": [
14447
14679
  {
@@ -14471,7 +14703,7 @@
14471
14703
  "kind": "class",
14472
14704
  "locationInModule": {
14473
14705
  "filename": "lib/endpoint.ts",
14474
- "line": 2270
14706
+ "line": 2279
14475
14707
  },
14476
14708
  "methods": [
14477
14709
  {
@@ -14481,7 +14713,7 @@
14481
14713
  },
14482
14714
  "locationInModule": {
14483
14715
  "filename": "lib/endpoint.ts",
14484
- "line": 2274
14716
+ "line": 2283
14485
14717
  },
14486
14718
  "name": "speke",
14487
14719
  "parameters": [
@@ -14521,7 +14753,7 @@
14521
14753
  "kind": "interface",
14522
14754
  "locationInModule": {
14523
14755
  "filename": "lib/endpoint.ts",
14524
- "line": 2472
14756
+ "line": 2481
14525
14757
  },
14526
14758
  "name": "IsmSegmentProps",
14527
14759
  "properties": [
@@ -14536,7 +14768,7 @@
14536
14768
  "immutable": true,
14537
14769
  "locationInModule": {
14538
14770
  "filename": "lib/endpoint.ts",
14539
- "line": 2480
14771
+ "line": 2489
14540
14772
  },
14541
14773
  "name": "encryption",
14542
14774
  "optional": true,
@@ -14563,7 +14795,7 @@
14563
14795
  "kind": "interface",
14564
14796
  "locationInModule": {
14565
14797
  "filename": "lib/endpoint.ts",
14566
- "line": 2072
14798
+ "line": 2081
14567
14799
  },
14568
14800
  "name": "IsmSpekeEncryptionProps",
14569
14801
  "properties": [
@@ -14576,7 +14808,7 @@
14576
14808
  "immutable": true,
14577
14809
  "locationInModule": {
14578
14810
  "filename": "lib/endpoint.ts",
14579
- "line": 2083
14811
+ "line": 2092
14580
14812
  },
14581
14813
  "name": "resourceId",
14582
14814
  "type": {
@@ -14592,7 +14824,7 @@
14592
14824
  "immutable": true,
14593
14825
  "locationInModule": {
14594
14826
  "filename": "lib/endpoint.ts",
14595
- "line": 2088
14827
+ "line": 2097
14596
14828
  },
14597
14829
  "name": "role",
14598
14830
  "type": {
@@ -14608,7 +14840,7 @@
14608
14840
  "immutable": true,
14609
14841
  "locationInModule": {
14610
14842
  "filename": "lib/endpoint.ts",
14611
- "line": 2093
14843
+ "line": 2102
14612
14844
  },
14613
14845
  "name": "url",
14614
14846
  "type": {
@@ -14625,7 +14857,7 @@
14625
14857
  "immutable": true,
14626
14858
  "locationInModule": {
14627
14859
  "filename": "lib/endpoint.ts",
14628
- "line": 2101
14860
+ "line": 2110
14629
14861
  },
14630
14862
  "name": "certificate",
14631
14863
  "optional": true,
@@ -14643,7 +14875,7 @@
14643
14875
  "immutable": true,
14644
14876
  "locationInModule": {
14645
14877
  "filename": "lib/endpoint.ts",
14646
- "line": 2078
14878
+ "line": 2087
14647
14879
  },
14648
14880
  "name": "drmSystems",
14649
14881
  "optional": true,
@@ -15906,7 +16138,7 @@
15906
16138
  },
15907
16139
  "locationInModule": {
15908
16140
  "filename": "lib/endpoint.ts",
15909
- "line": 2844
16141
+ "line": 2886
15910
16142
  },
15911
16143
  "parameters": [
15912
16144
  {
@@ -15935,9 +16167,47 @@
15935
16167
  "kind": "class",
15936
16168
  "locationInModule": {
15937
16169
  "filename": "lib/endpoint.ts",
15938
- "line": 2792
16170
+ "line": 2834
15939
16171
  },
15940
16172
  "methods": [
16173
+ {
16174
+ "docs": {
16175
+ "remarks": "The ARN is expected to be in the format:\n`arn:<partition>:mediapackagev2:<region>:<account>:channelGroup/<groupName>/channel/<channelName>/originEndpoint/<endpointName>`",
16176
+ "stability": "experimental",
16177
+ "summary": "Creates an OriginEndpoint construct that represents an external (imported) Origin Endpoint from its ARN."
16178
+ },
16179
+ "locationInModule": {
16180
+ "filename": "lib/endpoint.ts",
16181
+ "line": 2555
16182
+ },
16183
+ "name": "fromOriginEndpointArn",
16184
+ "parameters": [
16185
+ {
16186
+ "name": "scope",
16187
+ "type": {
16188
+ "fqn": "constructs.Construct"
16189
+ }
16190
+ },
16191
+ {
16192
+ "name": "id",
16193
+ "type": {
16194
+ "primitive": "string"
16195
+ }
16196
+ },
16197
+ {
16198
+ "name": "originEndpointArn",
16199
+ "type": {
16200
+ "primitive": "string"
16201
+ }
16202
+ }
16203
+ ],
16204
+ "returns": {
16205
+ "type": {
16206
+ "fqn": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint"
16207
+ }
16208
+ },
16209
+ "static": true
16210
+ },
15941
16211
  {
15942
16212
  "docs": {
15943
16213
  "stability": "experimental",
@@ -15945,7 +16215,7 @@
15945
16215
  },
15946
16216
  "locationInModule": {
15947
16217
  "filename": "lib/endpoint.ts",
15948
- "line": 2543
16218
+ "line": 2584
15949
16219
  },
15950
16220
  "name": "fromOriginEndpointAttributes",
15951
16221
  "parameters": [
@@ -15983,7 +16253,7 @@
15983
16253
  },
15984
16254
  "locationInModule": {
15985
16255
  "filename": "lib/endpoint.ts",
15986
- "line": 2638
16256
+ "line": 2680
15987
16257
  },
15988
16258
  "name": "addToResourcePolicy",
15989
16259
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16022,7 +16292,7 @@
16022
16292
  },
16023
16293
  "locationInModule": {
16024
16294
  "filename": "lib/endpoint.ts",
16025
- "line": 2691
16295
+ "line": 2733
16026
16296
  },
16027
16297
  "name": "metric",
16028
16298
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16061,7 +16331,7 @@
16061
16331
  },
16062
16332
  "locationInModule": {
16063
16333
  "filename": "lib/endpoint.ts",
16064
- "line": 2723
16334
+ "line": 2765
16065
16335
  },
16066
16336
  "name": "metricEgressBytes",
16067
16337
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16088,7 +16358,7 @@
16088
16358
  },
16089
16359
  "locationInModule": {
16090
16360
  "filename": "lib/endpoint.ts",
16091
- "line": 2765
16361
+ "line": 2807
16092
16362
  },
16093
16363
  "name": "metricEgressRequestCount",
16094
16364
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16115,7 +16385,7 @@
16115
16385
  },
16116
16386
  "locationInModule": {
16117
16387
  "filename": "lib/endpoint.ts",
16118
- "line": 2751
16388
+ "line": 2793
16119
16389
  },
16120
16390
  "name": "metricEgressResponseTime",
16121
16391
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16142,7 +16412,7 @@
16142
16412
  },
16143
16413
  "locationInModule": {
16144
16414
  "filename": "lib/endpoint.ts",
16145
- "line": 2709
16415
+ "line": 2751
16146
16416
  },
16147
16417
  "name": "metricIngressBytes",
16148
16418
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16169,7 +16439,7 @@
16169
16439
  },
16170
16440
  "locationInModule": {
16171
16441
  "filename": "lib/endpoint.ts",
16172
- "line": 2779
16442
+ "line": 2821
16173
16443
  },
16174
16444
  "name": "metricIngressRequestCount",
16175
16445
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16196,7 +16466,7 @@
16196
16466
  },
16197
16467
  "locationInModule": {
16198
16468
  "filename": "lib/endpoint.ts",
16199
- "line": 2737
16469
+ "line": 2779
16200
16470
  },
16201
16471
  "name": "metricIngressResponseTime",
16202
16472
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16222,7 +16492,7 @@
16222
16492
  },
16223
16493
  "locationInModule": {
16224
16494
  "filename": "lib/endpoint.ts",
16225
- "line": 2662
16495
+ "line": 2704
16226
16496
  },
16227
16497
  "name": "segmentValidation",
16228
16498
  "parameters": [
@@ -16260,7 +16530,7 @@
16260
16530
  "immutable": true,
16261
16531
  "locationInModule": {
16262
16532
  "filename": "lib/endpoint.ts",
16263
- "line": 2795
16533
+ "line": 2837
16264
16534
  },
16265
16535
  "name": "PROPERTY_INJECTION_ID",
16266
16536
  "static": true,
@@ -16276,7 +16546,7 @@
16276
16546
  "immutable": true,
16277
16547
  "locationInModule": {
16278
16548
  "filename": "lib/endpoint.ts",
16279
- "line": 2797
16549
+ "line": 2839
16280
16550
  },
16281
16551
  "name": "channelGroupName",
16282
16552
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16292,7 +16562,7 @@
16292
16562
  "immutable": true,
16293
16563
  "locationInModule": {
16294
16564
  "filename": "lib/endpoint.ts",
16295
- "line": 2798
16565
+ "line": 2840
16296
16566
  },
16297
16567
  "name": "channelName",
16298
16568
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16308,7 +16578,7 @@
16308
16578
  "immutable": true,
16309
16579
  "locationInModule": {
16310
16580
  "filename": "lib/endpoint.ts",
16311
- "line": 2800
16581
+ "line": 2842
16312
16582
  },
16313
16583
  "name": "originEndpointArn",
16314
16584
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16324,7 +16594,7 @@
16324
16594
  "immutable": true,
16325
16595
  "locationInModule": {
16326
16596
  "filename": "lib/endpoint.ts",
16327
- "line": 2799
16597
+ "line": 2841
16328
16598
  },
16329
16599
  "name": "originEndpointName",
16330
16600
  "overrides": "@aws-cdk/aws-mediapackagev2-alpha.IOriginEndpoint",
@@ -16341,7 +16611,7 @@
16341
16611
  "immutable": true,
16342
16612
  "locationInModule": {
16343
16613
  "filename": "lib/endpoint.ts",
16344
- "line": 2587
16614
+ "line": 2629
16345
16615
  },
16346
16616
  "name": "originEndpointRef",
16347
16617
  "overrides": "aws-cdk-lib.interfaces.aws_mediapackagev2.IOriginEndpointRef",
@@ -16357,7 +16627,7 @@
16357
16627
  "immutable": true,
16358
16628
  "locationInModule": {
16359
16629
  "filename": "lib/endpoint.ts",
16360
- "line": 2805
16630
+ "line": 2847
16361
16631
  },
16362
16632
  "name": "createdAt",
16363
16633
  "optional": true,
@@ -16374,7 +16644,7 @@
16374
16644
  "immutable": true,
16375
16645
  "locationInModule": {
16376
16646
  "filename": "lib/endpoint.ts",
16377
- "line": 2825
16647
+ "line": 2867
16378
16648
  },
16379
16649
  "name": "dashManifestUrls",
16380
16650
  "optional": true,
@@ -16396,7 +16666,7 @@
16396
16666
  "immutable": true,
16397
16667
  "locationInModule": {
16398
16668
  "filename": "lib/endpoint.ts",
16399
- "line": 2820
16669
+ "line": 2862
16400
16670
  },
16401
16671
  "name": "hlsManifestUrls",
16402
16672
  "optional": true,
@@ -16418,7 +16688,7 @@
16418
16688
  "immutable": true,
16419
16689
  "locationInModule": {
16420
16690
  "filename": "lib/endpoint.ts",
16421
- "line": 2815
16691
+ "line": 2857
16422
16692
  },
16423
16693
  "name": "lowLatencyHlsManifestUrls",
16424
16694
  "optional": true,
@@ -16440,7 +16710,7 @@
16440
16710
  "immutable": true,
16441
16711
  "locationInModule": {
16442
16712
  "filename": "lib/endpoint.ts",
16443
- "line": 2810
16713
+ "line": 2852
16444
16714
  },
16445
16715
  "name": "modifiedAt",
16446
16716
  "optional": true,
@@ -16457,7 +16727,7 @@
16457
16727
  "immutable": true,
16458
16728
  "locationInModule": {
16459
16729
  "filename": "lib/endpoint.ts",
16460
- "line": 2829
16730
+ "line": 2871
16461
16731
  },
16462
16732
  "name": "mssManifestUrls",
16463
16733
  "optional": true,
@@ -16478,7 +16748,7 @@
16478
16748
  },
16479
16749
  "locationInModule": {
16480
16750
  "filename": "lib/endpoint.ts",
16481
- "line": 2837
16751
+ "line": 2879
16482
16752
  },
16483
16753
  "name": "autoCreatePolicy",
16484
16754
  "protected": true,
@@ -16492,7 +16762,7 @@
16492
16762
  },
16493
16763
  "locationInModule": {
16494
16764
  "filename": "lib/endpoint.ts",
16495
- "line": 2840
16765
+ "line": 2882
16496
16766
  },
16497
16767
  "name": "dashManifests",
16498
16768
  "protected": true,
@@ -16511,7 +16781,7 @@
16511
16781
  },
16512
16782
  "locationInModule": {
16513
16783
  "filename": "lib/endpoint.ts",
16514
- "line": 2838
16784
+ "line": 2880
16515
16785
  },
16516
16786
  "name": "hlsManifests",
16517
16787
  "protected": true,
@@ -16530,7 +16800,7 @@
16530
16800
  },
16531
16801
  "locationInModule": {
16532
16802
  "filename": "lib/endpoint.ts",
16533
- "line": 2839
16803
+ "line": 2881
16534
16804
  },
16535
16805
  "name": "llHlsManifests",
16536
16806
  "protected": true,
@@ -16549,7 +16819,7 @@
16549
16819
  },
16550
16820
  "locationInModule": {
16551
16821
  "filename": "lib/endpoint.ts",
16552
- "line": 2841
16822
+ "line": 2883
16553
16823
  },
16554
16824
  "name": "mssManifests",
16555
16825
  "protected": true,
@@ -16570,7 +16840,7 @@
16570
16840
  },
16571
16841
  "locationInModule": {
16572
16842
  "filename": "lib/endpoint.ts",
16573
- "line": 2836
16843
+ "line": 2878
16574
16844
  },
16575
16845
  "name": "policy",
16576
16846
  "optional": true,
@@ -16584,7 +16854,7 @@
16584
16854
  },
16585
16855
  "locationInModule": {
16586
16856
  "filename": "lib/endpoint.ts",
16587
- "line": 2842
16857
+ "line": 2884
16588
16858
  },
16589
16859
  "name": "segment",
16590
16860
  "optional": true,
@@ -16673,6 +16943,25 @@
16673
16943
  "type": {
16674
16944
  "primitive": "string"
16675
16945
  }
16946
+ },
16947
+ {
16948
+ "abstract": true,
16949
+ "docs": {
16950
+ "default": "- the importing stack's region",
16951
+ "remarks": "Required for cross-region imports to construct the correct ARN.",
16952
+ "stability": "experimental",
16953
+ "summary": "The AWS region where the origin endpoint lives."
16954
+ },
16955
+ "immutable": true,
16956
+ "locationInModule": {
16957
+ "filename": "lib/endpoint.ts",
16958
+ "line": 1891
16959
+ },
16960
+ "name": "region",
16961
+ "optional": true,
16962
+ "type": {
16963
+ "primitive": "string"
16964
+ }
16676
16965
  }
16677
16966
  ],
16678
16967
  "symbolId": "lib/endpoint:OriginEndpointAttributes"
@@ -17353,7 +17642,7 @@
17353
17642
  "kind": "class",
17354
17643
  "locationInModule": {
17355
17644
  "filename": "lib/endpoint.ts",
17356
- "line": 2486
17645
+ "line": 2495
17357
17646
  },
17358
17647
  "methods": [
17359
17648
  {
@@ -17364,7 +17653,7 @@
17364
17653
  },
17365
17654
  "locationInModule": {
17366
17655
  "filename": "lib/endpoint.ts",
17367
- "line": 2511
17656
+ "line": 2520
17368
17657
  },
17369
17658
  "name": "cmaf",
17370
17659
  "parameters": [
@@ -17391,7 +17680,7 @@
17391
17680
  },
17392
17681
  "locationInModule": {
17393
17682
  "filename": "lib/endpoint.ts",
17394
- "line": 2528
17683
+ "line": 2537
17395
17684
  },
17396
17685
  "name": "ism",
17397
17686
  "parameters": [
@@ -17418,7 +17707,7 @@
17418
17707
  },
17419
17708
  "locationInModule": {
17420
17709
  "filename": "lib/endpoint.ts",
17421
- "line": 2492
17710
+ "line": 2501
17422
17711
  },
17423
17712
  "name": "ts",
17424
17713
  "parameters": [
@@ -17456,7 +17745,7 @@
17456
17745
  "kind": "interface",
17457
17746
  "locationInModule": {
17458
17747
  "filename": "lib/endpoint.ts",
17459
- "line": 2316
17748
+ "line": 2325
17460
17749
  },
17461
17750
  "name": "SegmentConfiguration",
17462
17751
  "properties": [
@@ -17469,7 +17758,7 @@
17469
17758
  "immutable": true,
17470
17759
  "locationInModule": {
17471
17760
  "filename": "lib/endpoint.ts",
17472
- "line": 2320
17761
+ "line": 2329
17473
17762
  },
17474
17763
  "name": "containerType",
17475
17764
  "type": {
@@ -17486,7 +17775,7 @@
17486
17775
  "immutable": true,
17487
17776
  "locationInModule": {
17488
17777
  "filename": "lib/endpoint.ts",
17489
- "line": 2370
17778
+ "line": 2379
17490
17779
  },
17491
17780
  "name": "encryption",
17492
17781
  "optional": true,
@@ -17504,7 +17793,7 @@
17504
17793
  "immutable": true,
17505
17794
  "locationInModule": {
17506
17795
  "filename": "lib/endpoint.ts",
17507
- "line": 2326
17796
+ "line": 2335
17508
17797
  },
17509
17798
  "name": "includeIframeOnlyStreams",
17510
17799
  "optional": true,
@@ -17523,7 +17812,7 @@
17523
17812
  "immutable": true,
17524
17813
  "locationInModule": {
17525
17814
  "filename": "lib/endpoint.ts",
17526
- "line": 2334
17815
+ "line": 2343
17527
17816
  },
17528
17817
  "name": "scteFilter",
17529
17818
  "optional": true,
@@ -17546,7 +17835,7 @@
17546
17835
  "immutable": true,
17547
17836
  "locationInModule": {
17548
17837
  "filename": "lib/endpoint.ts",
17549
- "line": 2340
17838
+ "line": 2349
17550
17839
  },
17551
17840
  "name": "scteInSegments",
17552
17841
  "optional": true,
@@ -17564,7 +17853,7 @@
17564
17853
  "immutable": true,
17565
17854
  "locationInModule": {
17566
17855
  "filename": "lib/endpoint.ts",
17567
- "line": 2346
17856
+ "line": 2355
17568
17857
  },
17569
17858
  "name": "segmentDuration",
17570
17859
  "optional": true,
@@ -17582,7 +17871,7 @@
17582
17871
  "immutable": true,
17583
17872
  "locationInModule": {
17584
17873
  "filename": "lib/endpoint.ts",
17585
- "line": 2352
17874
+ "line": 2361
17586
17875
  },
17587
17876
  "name": "segmentName",
17588
17877
  "optional": true,
@@ -17600,7 +17889,7 @@
17600
17889
  "immutable": true,
17601
17890
  "locationInModule": {
17602
17891
  "filename": "lib/endpoint.ts",
17603
- "line": 2358
17892
+ "line": 2367
17604
17893
  },
17605
17894
  "name": "tsIncludeDvbSubtitles",
17606
17895
  "optional": true,
@@ -17618,7 +17907,7 @@
17618
17907
  "immutable": true,
17619
17908
  "locationInModule": {
17620
17909
  "filename": "lib/endpoint.ts",
17621
- "line": 2364
17910
+ "line": 2373
17622
17911
  },
17623
17912
  "name": "tsUseAudioRenditionGroup",
17624
17913
  "optional": true,
@@ -17644,7 +17933,7 @@
17644
17933
  "kind": "interface",
17645
17934
  "locationInModule": {
17646
17935
  "filename": "lib/endpoint.ts",
17647
- "line": 2376
17936
+ "line": 2385
17648
17937
  },
17649
17938
  "name": "SegmentPropsBase",
17650
17939
  "properties": [
@@ -17658,7 +17947,7 @@
17658
17947
  "immutable": true,
17659
17948
  "locationInModule": {
17660
17949
  "filename": "lib/endpoint.ts",
17661
- "line": 2389
17950
+ "line": 2398
17662
17951
  },
17663
17952
  "name": "duration",
17664
17953
  "optional": true,
@@ -17676,7 +17965,7 @@
17676
17965
  "immutable": true,
17677
17966
  "locationInModule": {
17678
17967
  "filename": "lib/endpoint.ts",
17679
- "line": 2382
17968
+ "line": 2391
17680
17969
  },
17681
17970
  "name": "includeIframeOnlyStreams",
17682
17971
  "optional": true,
@@ -17694,7 +17983,7 @@
17694
17983
  "immutable": true,
17695
17984
  "locationInModule": {
17696
17985
  "filename": "lib/endpoint.ts",
17697
- "line": 2396
17986
+ "line": 2405
17698
17987
  },
17699
17988
  "name": "name",
17700
17989
  "optional": true,
@@ -17988,7 +18277,7 @@
17988
18277
  "kind": "enum",
17989
18278
  "locationInModule": {
17990
18279
  "filename": "lib/endpoint.ts",
17991
- "line": 1915
18280
+ "line": 1924
17992
18281
  },
17993
18282
  "members": [
17994
18283
  {
@@ -18025,7 +18314,7 @@
18025
18314
  "kind": "class",
18026
18315
  "locationInModule": {
18027
18316
  "filename": "lib/endpoint.ts",
18028
- "line": 2209
18317
+ "line": 2218
18029
18318
  },
18030
18319
  "methods": [
18031
18320
  {
@@ -18035,7 +18324,7 @@
18035
18324
  },
18036
18325
  "locationInModule": {
18037
18326
  "filename": "lib/endpoint.ts",
18038
- "line": 2213
18327
+ "line": 2222
18039
18328
  },
18040
18329
  "name": "speke",
18041
18330
  "parameters": [
@@ -18110,7 +18399,7 @@
18110
18399
  "kind": "interface",
18111
18400
  "locationInModule": {
18112
18401
  "filename": "lib/endpoint.ts",
18113
- "line": 2402
18402
+ "line": 2411
18114
18403
  },
18115
18404
  "name": "TsSegmentProps",
18116
18405
  "properties": [
@@ -18125,7 +18414,7 @@
18125
18414
  "immutable": true,
18126
18415
  "locationInModule": {
18127
18416
  "filename": "lib/endpoint.ts",
18128
- "line": 2438
18417
+ "line": 2447
18129
18418
  },
18130
18419
  "name": "encryption",
18131
18420
  "optional": true,
@@ -18143,7 +18432,7 @@
18143
18432
  "immutable": true,
18144
18433
  "locationInModule": {
18145
18434
  "filename": "lib/endpoint.ts",
18146
- "line": 2422
18435
+ "line": 2431
18147
18436
  },
18148
18437
  "name": "includeDvbSubtitles",
18149
18438
  "optional": true,
@@ -18161,7 +18450,7 @@
18161
18450
  "immutable": true,
18162
18451
  "locationInModule": {
18163
18452
  "filename": "lib/endpoint.ts",
18164
- "line": 2408
18453
+ "line": 2417
18165
18454
  },
18166
18455
  "name": "scteFilter",
18167
18456
  "optional": true,
@@ -18184,7 +18473,7 @@
18184
18473
  "immutable": true,
18185
18474
  "locationInModule": {
18186
18475
  "filename": "lib/endpoint.ts",
18187
- "line": 2415
18476
+ "line": 2424
18188
18477
  },
18189
18478
  "name": "scteInSegments",
18190
18479
  "optional": true,
@@ -18202,7 +18491,7 @@
18202
18491
  "immutable": true,
18203
18492
  "locationInModule": {
18204
18493
  "filename": "lib/endpoint.ts",
18205
- "line": 2429
18494
+ "line": 2438
18206
18495
  },
18207
18496
  "name": "useAudioRenditionGroup",
18208
18497
  "optional": true,
@@ -18228,7 +18517,7 @@
18228
18517
  "kind": "interface",
18229
18518
  "locationInModule": {
18230
18519
  "filename": "lib/endpoint.ts",
18231
- "line": 2034
18520
+ "line": 2043
18232
18521
  },
18233
18522
  "name": "TsSpekeEncryptionProps",
18234
18523
  "properties": [
@@ -18241,7 +18530,7 @@
18241
18530
  "immutable": true,
18242
18531
  "locationInModule": {
18243
18532
  "filename": "lib/endpoint.ts",
18244
- "line": 2038
18533
+ "line": 2047
18245
18534
  },
18246
18535
  "name": "method",
18247
18536
  "type": {
@@ -18258,7 +18547,7 @@
18258
18547
  "immutable": true,
18259
18548
  "locationInModule": {
18260
18549
  "filename": "lib/endpoint.ts",
18261
- "line": 1949
18550
+ "line": 1958
18262
18551
  },
18263
18552
  "name": "resourceId",
18264
18553
  "type": {
@@ -18275,7 +18564,7 @@
18275
18564
  "immutable": true,
18276
18565
  "locationInModule": {
18277
18566
  "filename": "lib/endpoint.ts",
18278
- "line": 1957
18567
+ "line": 1966
18279
18568
  },
18280
18569
  "name": "role",
18281
18570
  "type": {
@@ -18291,7 +18580,7 @@
18291
18580
  "immutable": true,
18292
18581
  "locationInModule": {
18293
18582
  "filename": "lib/endpoint.ts",
18294
- "line": 1962
18583
+ "line": 1971
18295
18584
  },
18296
18585
  "name": "url",
18297
18586
  "type": {
@@ -18308,7 +18597,7 @@
18308
18597
  "immutable": true,
18309
18598
  "locationInModule": {
18310
18599
  "filename": "lib/endpoint.ts",
18311
- "line": 1979
18600
+ "line": 1988
18312
18601
  },
18313
18602
  "name": "audioPreset",
18314
18603
  "optional": true,
@@ -18327,7 +18616,7 @@
18327
18616
  "immutable": true,
18328
18617
  "locationInModule": {
18329
18618
  "filename": "lib/endpoint.ts",
18330
- "line": 1972
18619
+ "line": 1981
18331
18620
  },
18332
18621
  "name": "certificate",
18333
18622
  "optional": true,
@@ -18346,7 +18635,7 @@
18346
18635
  "immutable": true,
18347
18636
  "locationInModule": {
18348
18637
  "filename": "lib/endpoint.ts",
18349
- "line": 2055
18638
+ "line": 2064
18350
18639
  },
18351
18640
  "name": "constantInitializationVector",
18352
18641
  "optional": true,
@@ -18364,7 +18653,7 @@
18364
18653
  "immutable": true,
18365
18654
  "locationInModule": {
18366
18655
  "filename": "lib/endpoint.ts",
18367
- "line": 2045
18656
+ "line": 2054
18368
18657
  },
18369
18658
  "name": "drmSystems",
18370
18659
  "optional": true,
@@ -18387,7 +18676,7 @@
18387
18676
  "immutable": true,
18388
18677
  "locationInModule": {
18389
18678
  "filename": "lib/endpoint.ts",
18390
- "line": 2062
18679
+ "line": 2071
18391
18680
  },
18392
18681
  "name": "keyRotationInterval",
18393
18682
  "optional": true,
@@ -18405,7 +18694,7 @@
18405
18694
  "immutable": true,
18406
18695
  "locationInModule": {
18407
18696
  "filename": "lib/endpoint.ts",
18408
- "line": 1986
18697
+ "line": 1995
18409
18698
  },
18410
18699
  "name": "videoPreset",
18411
18700
  "optional": true,
@@ -18533,6 +18822,6 @@
18533
18822
  "symbolId": "lib/endpoint:VideoDynamicRange"
18534
18823
  }
18535
18824
  },
18536
- "version": "2.249.0-alpha.0",
18825
+ "version": "2.250.0-alpha.0",
18537
18826
  "fingerprint": "**********"
18538
18827
  }