aws-cdk-lib 2.90.0__py3-none-any.whl → 2.92.0__py3-none-any.whl

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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (55) hide show
  1. aws_cdk/__init__.py +22 -4
  2. aws_cdk/_jsii/__init__.py +2 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.90.0.jsii.tgz → aws-cdk-lib@2.92.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appstream/__init__.py +3 -3
  5. aws_cdk/aws_batch/__init__.py +39 -18
  6. aws_cdk/aws_billingconductor/__init__.py +44 -13
  7. aws_cdk/aws_cleanrooms/__init__.py +2 -4
  8. aws_cdk/aws_cloudtrail/__init__.py +35 -10
  9. aws_cdk/aws_cloudwatch/__init__.py +3 -3
  10. aws_cdk/aws_codebuild/__init__.py +7 -7
  11. aws_cdk/aws_cognito/__init__.py +8 -8
  12. aws_cdk/aws_config/__init__.py +220 -0
  13. aws_cdk/aws_datasync/__init__.py +22 -35
  14. aws_cdk/aws_dms/__init__.py +909 -4
  15. aws_cdk/aws_dynamodb/__init__.py +0 -1
  16. aws_cdk/aws_ec2/__init__.py +59 -21
  17. aws_cdk/aws_ecs/__init__.py +45 -21
  18. aws_cdk/aws_evidently/__init__.py +3 -3
  19. aws_cdk/aws_fsx/__init__.py +6 -5
  20. aws_cdk/aws_glue/__init__.py +438 -10
  21. aws_cdk/aws_guardduty/__init__.py +60 -17
  22. aws_cdk/aws_iam/__init__.py +8 -9
  23. aws_cdk/aws_iot/__init__.py +5 -1
  24. aws_cdk/aws_kms/__init__.py +95 -47
  25. aws_cdk/aws_lambda/__init__.py +4 -2
  26. aws_cdk/aws_lambda_nodejs/__init__.py +3 -3
  27. aws_cdk/aws_mediatailor/__init__.py +2902 -892
  28. aws_cdk/aws_mwaa/__init__.py +13 -8
  29. aws_cdk/aws_neptune/__init__.py +50 -2
  30. aws_cdk/aws_omics/__init__.py +80 -0
  31. aws_cdk/aws_opensearchserverless/__init__.py +3 -3
  32. aws_cdk/aws_opensearchservice/__init__.py +247 -14
  33. aws_cdk/aws_organizations/__init__.py +17 -17
  34. aws_cdk/aws_personalize/__init__.py +41 -25
  35. aws_cdk/aws_rds/__init__.py +24 -10
  36. aws_cdk/aws_resiliencehub/__init__.py +22 -22
  37. aws_cdk/aws_rolesanywhere/__init__.py +58 -74
  38. aws_cdk/aws_route53/__init__.py +3 -1
  39. aws_cdk/aws_s3/__init__.py +17 -7
  40. aws_cdk/aws_sagemaker/__init__.py +396 -5
  41. aws_cdk/aws_sns/__init__.py +8 -8
  42. aws_cdk/aws_sqs/__init__.py +231 -4
  43. aws_cdk/aws_ssm/__init__.py +6 -28
  44. aws_cdk/aws_stepfunctions/__init__.py +7 -7
  45. aws_cdk/aws_timestream/__init__.py +243 -0
  46. aws_cdk/aws_transfer/__init__.py +250 -52
  47. aws_cdk/aws_vpclattice/__init__.py +10 -6
  48. aws_cdk/aws_wafv2/__init__.py +7517 -5036
  49. aws_cdk/custom_resources/__init__.py +18 -30
  50. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/METADATA +8 -8
  51. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/RECORD +55 -55
  52. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/WHEEL +1 -1
  53. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/LICENSE +0 -0
  54. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/NOTICE +0 -0
  55. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/top_level.txt +0 -0
@@ -51,15 +51,15 @@ from .. import (
51
51
  )
52
52
 
53
53
 
54
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
55
- class CfnPlaybackConfiguration(
54
+ @jsii.implements(_IInspectable_c2943556)
55
+ class CfnChannel(
56
56
  _CfnResource_9df397a6,
57
57
  metaclass=jsii.JSIIMeta,
58
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration",
58
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannel",
59
59
  ):
60
- '''Adds a new playback configuration to AWS Elemental MediaTailor .
60
+ '''Definition of AWS::MediaTailor::Channel Resource Type.
61
61
 
62
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html
62
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html
63
63
  :exampleMetadata: fixture=_generated
64
64
 
65
65
  Example::
@@ -68,53 +68,38 @@ class CfnPlaybackConfiguration(
68
68
  # The values are placeholders you should change.
69
69
  from aws_cdk import aws_mediatailor as mediatailor
70
70
 
71
- # configuration_aliases: Any
71
+ cfn_channel = mediatailor.CfnChannel(self, "MyCfnChannel",
72
+ channel_name="channelName",
73
+ outputs=[mediatailor.CfnChannel.RequestOutputItemProperty(
74
+ manifest_name="manifestName",
75
+ source_group="sourceGroup",
72
76
 
73
- cfn_playback_configuration = mediatailor.CfnPlaybackConfiguration(self, "MyCfnPlaybackConfiguration",
74
- ad_decision_server_url="adDecisionServerUrl",
75
- name="name",
76
- video_content_source_url="videoContentSourceUrl",
77
+ # the properties below are optional
78
+ dash_playlist_settings=mediatailor.CfnChannel.DashPlaylistSettingsProperty(
79
+ manifest_window_seconds=123,
80
+ min_buffer_time_seconds=123,
81
+ min_update_period_seconds=123,
82
+ suggested_presentation_delay_seconds=123
83
+ ),
84
+ hls_playlist_settings=mediatailor.CfnChannel.HlsPlaylistSettingsProperty(
85
+ manifest_window_seconds=123
86
+ )
87
+ )],
88
+ playback_mode="playbackMode",
77
89
 
78
90
  # the properties below are optional
79
- avail_suppression=mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty(
80
- mode="mode",
81
- value="value"
82
- ),
83
- bumper=mediatailor.CfnPlaybackConfiguration.BumperProperty(
84
- end_url="endUrl",
85
- start_url="startUrl"
86
- ),
87
- cdn_configuration=mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty(
88
- ad_segment_url_prefix="adSegmentUrlPrefix",
89
- content_segment_url_prefix="contentSegmentUrlPrefix"
90
- ),
91
- configuration_aliases={
92
- "configuration_aliases_key": configuration_aliases
93
- },
94
- dash_configuration=mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty(
95
- manifest_endpoint_prefix="manifestEndpointPrefix",
96
- mpd_location="mpdLocation",
97
- origin_manifest_type="originManifestType"
98
- ),
99
- hls_configuration=mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty(
100
- manifest_endpoint_prefix="manifestEndpointPrefix"
101
- ),
102
- live_pre_roll_configuration=mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty(
103
- ad_decision_server_url="adDecisionServerUrl",
104
- max_duration_seconds=123
91
+ filler_slate=mediatailor.CfnChannel.SlateSourceProperty(
92
+ source_location_name="sourceLocationName",
93
+ vod_source_name="vodSourceName"
105
94
  ),
106
- manifest_processing_rules=mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty(
107
- ad_marker_passthrough=mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
108
- enabled=False
109
- )
95
+ log_configuration=mediatailor.CfnChannel.LogConfigurationForChannelProperty(
96
+ log_types=["logTypes"]
110
97
  ),
111
- personalization_threshold_seconds=123,
112
- slate_ad_url="slateAdUrl",
113
98
  tags=[CfnTag(
114
99
  key="key",
115
100
  value="value"
116
101
  )],
117
- transcode_profile_name="transcodeProfileName"
102
+ tier="tier"
118
103
  )
119
104
  '''
120
105
 
@@ -123,61 +108,37 @@ class CfnPlaybackConfiguration(
123
108
  scope: _constructs_77d1e7e8.Construct,
124
109
  id: builtins.str,
125
110
  *,
126
- ad_decision_server_url: builtins.str,
127
- name: builtins.str,
128
- video_content_source_url: builtins.str,
129
- avail_suppression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.AvailSuppressionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
130
- bumper: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.BumperProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
131
- cdn_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.CdnConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
132
- configuration_aliases: typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]] = None,
133
- dash_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.DashConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
134
- hls_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.HlsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
135
- live_pre_roll_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.LivePreRollConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
136
- manifest_processing_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.ManifestProcessingRulesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
137
- personalization_threshold_seconds: typing.Optional[jsii.Number] = None,
138
- slate_ad_url: typing.Optional[builtins.str] = None,
111
+ channel_name: builtins.str,
112
+ outputs: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannel.RequestOutputItemProperty", typing.Dict[builtins.str, typing.Any]]]]],
113
+ playback_mode: builtins.str,
114
+ filler_slate: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannel.SlateSourceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
115
+ log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannel.LogConfigurationForChannelProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
139
116
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
140
- transcode_profile_name: typing.Optional[builtins.str] = None,
117
+ tier: typing.Optional[builtins.str] = None,
141
118
  ) -> None:
142
119
  '''
143
120
  :param scope: Scope in which this resource is defined.
144
121
  :param id: Construct identifier for this resource (unique in its scope).
145
- :param ad_decision_server_url: The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
146
- :param name: The identifier for the playback configuration.
147
- :param video_content_source_url: The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.
148
- :param avail_suppression: The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
149
- :param bumper: The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
150
- :param cdn_configuration: The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
151
- :param configuration_aliases: The player parameters and aliases used as dynamic variables during session initialization. For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html>`_ .
152
- :param dash_configuration: The configuration for DASH PUT operations.
153
- :param hls_configuration: The configuration for HLS content.
154
- :param live_pre_roll_configuration: The configuration for pre-roll ad insertion.
155
- :param manifest_processing_rules: The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
156
- :param personalization_threshold_seconds: Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break. If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
157
- :param slate_ad_url: The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
158
- :param tags: The tags to assign to the playback configuration.
159
- :param transcode_profile_name: The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
122
+ :param channel_name:
123
+ :param outputs:
124
+ :param playback_mode:
125
+ :param filler_slate:
126
+ :param log_configuration:
127
+ :param tags: The tags to assign to the channel.
128
+ :param tier:
160
129
  '''
161
130
  if __debug__:
162
- type_hints = typing.get_type_hints(_typecheckingstub__3dcfb97a898a80ee6a7b069e26028183e8a797f0c48fdbd4fe6ecb8ad6fb6911)
131
+ type_hints = typing.get_type_hints(_typecheckingstub__95afc802641850838d7d754c58072c279165a93bff5fc055789c1090a21b9714)
163
132
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
164
133
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
165
- props = CfnPlaybackConfigurationProps(
166
- ad_decision_server_url=ad_decision_server_url,
167
- name=name,
168
- video_content_source_url=video_content_source_url,
169
- avail_suppression=avail_suppression,
170
- bumper=bumper,
171
- cdn_configuration=cdn_configuration,
172
- configuration_aliases=configuration_aliases,
173
- dash_configuration=dash_configuration,
174
- hls_configuration=hls_configuration,
175
- live_pre_roll_configuration=live_pre_roll_configuration,
176
- manifest_processing_rules=manifest_processing_rules,
177
- personalization_threshold_seconds=personalization_threshold_seconds,
178
- slate_ad_url=slate_ad_url,
134
+ props = CfnChannelProps(
135
+ channel_name=channel_name,
136
+ outputs=outputs,
137
+ playback_mode=playback_mode,
138
+ filler_slate=filler_slate,
139
+ log_configuration=log_configuration,
179
140
  tags=tags,
180
- transcode_profile_name=transcode_profile_name,
141
+ tier=tier,
181
142
  )
182
143
 
183
144
  jsii.create(self.__class__, self, [scope, id, props])
@@ -189,7 +150,7 @@ class CfnPlaybackConfiguration(
189
150
  :param inspector: tree inspector to collect and process attributes.
190
151
  '''
191
152
  if __debug__:
192
- type_hints = typing.get_type_hints(_typecheckingstub__6e8d0bace48ee23b08adfc8cf00f58f43f86ed9fc0b465a4b9dcfaf76c4a0da6)
153
+ type_hints = typing.get_type_hints(_typecheckingstub__d632b023994803b26caa2590748766e0dabab5ba299874fe587fa9f37c926bda)
193
154
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
194
155
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
195
156
 
@@ -202,7 +163,7 @@ class CfnPlaybackConfiguration(
202
163
  :param props: -
203
164
  '''
204
165
  if __debug__:
205
- type_hints = typing.get_type_hints(_typecheckingstub__2663bd7b40c241aeca662815955b87975e8fe4bc363957cbc451c0b30548ea05)
166
+ type_hints = typing.get_type_hints(_typecheckingstub__fd05180cbc64f9ab36b59c9143ba4df4683bae47e98fe90c0d0bacdd9fbb8fae)
206
167
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
207
168
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
208
169
 
@@ -213,55 +174,12 @@ class CfnPlaybackConfiguration(
213
174
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
214
175
 
215
176
  @builtins.property
216
- @jsii.member(jsii_name="attrDashConfigurationManifestEndpointPrefix")
217
- def attr_dash_configuration_manifest_endpoint_prefix(self) -> builtins.str:
218
- '''The URL generated by MediaTailor to initiate a playback session.
219
-
220
- The session uses server-side reporting. This setting is ignored in PUT operations.
221
-
222
- :cloudformationAttribute: DashConfiguration.ManifestEndpointPrefix
223
- '''
224
- return typing.cast(builtins.str, jsii.get(self, "attrDashConfigurationManifestEndpointPrefix"))
225
-
226
- @builtins.property
227
- @jsii.member(jsii_name="attrHlsConfigurationManifestEndpointPrefix")
228
- def attr_hls_configuration_manifest_endpoint_prefix(self) -> builtins.str:
229
- '''The URL that is used to initiate a playback session for devices that support Apple HLS.
230
-
231
- The session uses server-side reporting.
232
-
233
- :cloudformationAttribute: HlsConfiguration.ManifestEndpointPrefix
234
- '''
235
- return typing.cast(builtins.str, jsii.get(self, "attrHlsConfigurationManifestEndpointPrefix"))
236
-
237
- @builtins.property
238
- @jsii.member(jsii_name="attrPlaybackConfigurationArn")
239
- def attr_playback_configuration_arn(self) -> builtins.str:
240
- '''The Amazon Resource Name (ARN) for the playback configuration.
241
-
242
- :cloudformationAttribute: PlaybackConfigurationArn
243
- '''
244
- return typing.cast(builtins.str, jsii.get(self, "attrPlaybackConfigurationArn"))
245
-
246
- @builtins.property
247
- @jsii.member(jsii_name="attrPlaybackEndpointPrefix")
248
- def attr_playback_endpoint_prefix(self) -> builtins.str:
249
- '''The URL that the player accesses to get a manifest from MediaTailor .
250
-
251
- This session will use server-side reporting.
252
-
253
- :cloudformationAttribute: PlaybackEndpointPrefix
177
+ @jsii.member(jsii_name="attrArn")
178
+ def attr_arn(self) -> builtins.str:
254
179
  '''
255
- return typing.cast(builtins.str, jsii.get(self, "attrPlaybackEndpointPrefix"))
256
-
257
- @builtins.property
258
- @jsii.member(jsii_name="attrSessionInitializationEndpointPrefix")
259
- def attr_session_initialization_endpoint_prefix(self) -> builtins.str:
260
- '''The URL that the player uses to initialize a session that uses client-side reporting.
261
-
262
- :cloudformationAttribute: SessionInitializationEndpointPrefix
180
+ :cloudformationAttribute: Arn
263
181
  '''
264
- return typing.cast(builtins.str, jsii.get(self, "attrSessionInitializationEndpointPrefix"))
182
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
265
183
 
266
184
  @builtins.property
267
185
  @jsii.member(jsii_name="cfnProperties")
@@ -269,267 +187,131 @@ class CfnPlaybackConfiguration(
269
187
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
270
188
 
271
189
  @builtins.property
272
- @jsii.member(jsii_name="tags")
273
- def tags(self) -> _TagManager_0a598cb3:
274
- '''Tag Manager which manages the tags for this resource.'''
275
- return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
276
-
277
- @builtins.property
278
- @jsii.member(jsii_name="adDecisionServerUrl")
279
- def ad_decision_server_url(self) -> builtins.str:
280
- '''The URL for the ad decision server (ADS).'''
281
- return typing.cast(builtins.str, jsii.get(self, "adDecisionServerUrl"))
282
-
283
- @ad_decision_server_url.setter
284
- def ad_decision_server_url(self, value: builtins.str) -> None:
285
- if __debug__:
286
- type_hints = typing.get_type_hints(_typecheckingstub__b4b56f24629d4c9547e0b37415660678e3944b62d46a1e55902b5e6c66efe7c6)
287
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
288
- jsii.set(self, "adDecisionServerUrl", value)
289
-
290
- @builtins.property
291
- @jsii.member(jsii_name="name")
292
- def name(self) -> builtins.str:
293
- '''The identifier for the playback configuration.'''
294
- return typing.cast(builtins.str, jsii.get(self, "name"))
295
-
296
- @name.setter
297
- def name(self, value: builtins.str) -> None:
298
- if __debug__:
299
- type_hints = typing.get_type_hints(_typecheckingstub__77c686fa09a4612a1bcc44cf669fb2ff9905ec398da89167e8b0280d8f86750d)
300
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
301
- jsii.set(self, "name", value)
302
-
303
- @builtins.property
304
- @jsii.member(jsii_name="videoContentSourceUrl")
305
- def video_content_source_url(self) -> builtins.str:
306
- '''The URL prefix for the parent manifest for the stream, minus the asset ID.'''
307
- return typing.cast(builtins.str, jsii.get(self, "videoContentSourceUrl"))
190
+ @jsii.member(jsii_name="channelName")
191
+ def channel_name(self) -> builtins.str:
192
+ return typing.cast(builtins.str, jsii.get(self, "channelName"))
308
193
 
309
- @video_content_source_url.setter
310
- def video_content_source_url(self, value: builtins.str) -> None:
194
+ @channel_name.setter
195
+ def channel_name(self, value: builtins.str) -> None:
311
196
  if __debug__:
312
- type_hints = typing.get_type_hints(_typecheckingstub__75b50d6fe13101dc70996fb19d5c8a163f6176ddcd37a0ebe0b08f5f768c4caf)
197
+ type_hints = typing.get_type_hints(_typecheckingstub__414356f19e6a1e142f58fb20d5aa3f44fd76f93ad6f9a944f9177c71e65bd031)
313
198
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
314
- jsii.set(self, "videoContentSourceUrl", value)
199
+ jsii.set(self, "channelName", value)
315
200
 
316
201
  @builtins.property
317
- @jsii.member(jsii_name="availSuppression")
318
- def avail_suppression(
202
+ @jsii.member(jsii_name="outputs")
203
+ def outputs(
319
204
  self,
320
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AvailSuppressionProperty"]]:
321
- '''The configuration for avail suppression, also known as ad suppression.'''
322
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AvailSuppressionProperty"]], jsii.get(self, "availSuppression"))
205
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannel.RequestOutputItemProperty"]]]:
206
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannel.RequestOutputItemProperty"]]], jsii.get(self, "outputs"))
323
207
 
324
- @avail_suppression.setter
325
- def avail_suppression(
208
+ @outputs.setter
209
+ def outputs(
326
210
  self,
327
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AvailSuppressionProperty"]],
211
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnChannel.RequestOutputItemProperty"]]],
328
212
  ) -> None:
329
213
  if __debug__:
330
- type_hints = typing.get_type_hints(_typecheckingstub__ace1eb1809c3c05a0b25523b0f61020aa7d5a69057cdffb522c74d7881b0c1c8)
214
+ type_hints = typing.get_type_hints(_typecheckingstub__f6c205b75797f1a6f80dab721b03fc96335f8bd384f7c63aab656bd3136a90ed)
331
215
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
332
- jsii.set(self, "availSuppression", value)
216
+ jsii.set(self, "outputs", value)
333
217
 
334
218
  @builtins.property
335
- @jsii.member(jsii_name="bumper")
336
- def bumper(
337
- self,
338
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.BumperProperty"]]:
339
- '''The configuration for bumpers.'''
340
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.BumperProperty"]], jsii.get(self, "bumper"))
219
+ @jsii.member(jsii_name="playbackMode")
220
+ def playback_mode(self) -> builtins.str:
221
+ return typing.cast(builtins.str, jsii.get(self, "playbackMode"))
341
222
 
342
- @bumper.setter
343
- def bumper(
344
- self,
345
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.BumperProperty"]],
346
- ) -> None:
223
+ @playback_mode.setter
224
+ def playback_mode(self, value: builtins.str) -> None:
347
225
  if __debug__:
348
- type_hints = typing.get_type_hints(_typecheckingstub__e9796c91ff0edc4be04998ed524be6012eae7fa3574e5c120fe393fab79a2a12)
226
+ type_hints = typing.get_type_hints(_typecheckingstub__0f01c3b2a4d663235632876690f021c08885e2683808fd8f8354ec563a6cdbcf)
349
227
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
350
- jsii.set(self, "bumper", value)
228
+ jsii.set(self, "playbackMode", value)
351
229
 
352
230
  @builtins.property
353
- @jsii.member(jsii_name="cdnConfiguration")
354
- def cdn_configuration(
231
+ @jsii.member(jsii_name="fillerSlate")
232
+ def filler_slate(
355
233
  self,
356
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.CdnConfigurationProperty"]]:
357
- '''The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.'''
358
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.CdnConfigurationProperty"]], jsii.get(self, "cdnConfiguration"))
234
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.SlateSourceProperty"]]:
235
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.SlateSourceProperty"]], jsii.get(self, "fillerSlate"))
359
236
 
360
- @cdn_configuration.setter
361
- def cdn_configuration(
237
+ @filler_slate.setter
238
+ def filler_slate(
362
239
  self,
363
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.CdnConfigurationProperty"]],
240
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.SlateSourceProperty"]],
364
241
  ) -> None:
365
242
  if __debug__:
366
- type_hints = typing.get_type_hints(_typecheckingstub__a8cdb9ae7c7cff86d16687474d65af7b5ddb86256dce88926d439a4c82e07acf)
243
+ type_hints = typing.get_type_hints(_typecheckingstub__bb99598f2b90f05f74078bf9dbab5d32c9f963ec0c7f60fc84c741cd7f7a72d5)
367
244
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
368
- jsii.set(self, "cdnConfiguration", value)
245
+ jsii.set(self, "fillerSlate", value)
369
246
 
370
247
  @builtins.property
371
- @jsii.member(jsii_name="configurationAliases")
372
- def configuration_aliases(
248
+ @jsii.member(jsii_name="logConfiguration")
249
+ def log_configuration(
373
250
  self,
374
- ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]]:
375
- '''The player parameters and aliases used as dynamic variables during session initialization.'''
376
- return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]], jsii.get(self, "configurationAliases"))
251
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.LogConfigurationForChannelProperty"]]:
252
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.LogConfigurationForChannelProperty"]], jsii.get(self, "logConfiguration"))
377
253
 
378
- @configuration_aliases.setter
379
- def configuration_aliases(
254
+ @log_configuration.setter
255
+ def log_configuration(
380
256
  self,
381
- value: typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]],
257
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.LogConfigurationForChannelProperty"]],
382
258
  ) -> None:
383
259
  if __debug__:
384
- type_hints = typing.get_type_hints(_typecheckingstub__5e98fdfcc661f8c91728f46bbafe4c5c1160d075338a4b6e66789b7147006439)
260
+ type_hints = typing.get_type_hints(_typecheckingstub__272cdcfa3dd55bace9d7517c474b5f20801108c57ec19149b84a6595215b1252)
385
261
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
386
- jsii.set(self, "configurationAliases", value)
262
+ jsii.set(self, "logConfiguration", value)
387
263
 
388
264
  @builtins.property
389
- @jsii.member(jsii_name="dashConfiguration")
390
- def dash_configuration(
391
- self,
392
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.DashConfigurationProperty"]]:
393
- '''The configuration for DASH PUT operations.'''
394
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.DashConfigurationProperty"]], jsii.get(self, "dashConfiguration"))
265
+ @jsii.member(jsii_name="tags")
266
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
267
+ '''The tags to assign to the channel.'''
268
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
395
269
 
396
- @dash_configuration.setter
397
- def dash_configuration(
398
- self,
399
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.DashConfigurationProperty"]],
400
- ) -> None:
270
+ @tags.setter
271
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
401
272
  if __debug__:
402
- type_hints = typing.get_type_hints(_typecheckingstub__e1528a1dd277ec2643ed08e71e4d817660b15a7515d36800d1a4c45be4bdd944)
273
+ type_hints = typing.get_type_hints(_typecheckingstub__3bde4918e4d23e04040b87adfc6739660dba537c84b0ca2f813daacbf009f298)
403
274
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
404
- jsii.set(self, "dashConfiguration", value)
275
+ jsii.set(self, "tags", value)
405
276
 
406
277
  @builtins.property
407
- @jsii.member(jsii_name="hlsConfiguration")
408
- def hls_configuration(
409
- self,
410
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.HlsConfigurationProperty"]]:
411
- '''The configuration for HLS content.'''
412
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.HlsConfigurationProperty"]], jsii.get(self, "hlsConfiguration"))
278
+ @jsii.member(jsii_name="tier")
279
+ def tier(self) -> typing.Optional[builtins.str]:
280
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "tier"))
413
281
 
414
- @hls_configuration.setter
415
- def hls_configuration(
416
- self,
417
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.HlsConfigurationProperty"]],
418
- ) -> None:
282
+ @tier.setter
283
+ def tier(self, value: typing.Optional[builtins.str]) -> None:
419
284
  if __debug__:
420
- type_hints = typing.get_type_hints(_typecheckingstub__8c53800db93b8d74956b4a23e4372e79b770aeb9e98d1001196859bcb54e01d0)
285
+ type_hints = typing.get_type_hints(_typecheckingstub__35198b30b0429365e601c60c11c6bb80791a3176a301d1fac563832c0e0edd38)
421
286
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
422
- jsii.set(self, "hlsConfiguration", value)
423
-
424
- @builtins.property
425
- @jsii.member(jsii_name="livePreRollConfiguration")
426
- def live_pre_roll_configuration(
427
- self,
428
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.LivePreRollConfigurationProperty"]]:
429
- '''The configuration for pre-roll ad insertion.'''
430
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.LivePreRollConfigurationProperty"]], jsii.get(self, "livePreRollConfiguration"))
431
-
432
- @live_pre_roll_configuration.setter
433
- def live_pre_roll_configuration(
434
- self,
435
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.LivePreRollConfigurationProperty"]],
436
- ) -> None:
437
- if __debug__:
438
- type_hints = typing.get_type_hints(_typecheckingstub__d20db08db40dad827f8fdbbfd9ec60bdd03cf18a0cf5f764aedb5ed9040d782f)
439
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
440
- jsii.set(self, "livePreRollConfiguration", value)
441
-
442
- @builtins.property
443
- @jsii.member(jsii_name="manifestProcessingRules")
444
- def manifest_processing_rules(
445
- self,
446
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.ManifestProcessingRulesProperty"]]:
447
- '''The configuration for manifest processing rules.'''
448
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.ManifestProcessingRulesProperty"]], jsii.get(self, "manifestProcessingRules"))
449
-
450
- @manifest_processing_rules.setter
451
- def manifest_processing_rules(
452
- self,
453
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.ManifestProcessingRulesProperty"]],
454
- ) -> None:
455
- if __debug__:
456
- type_hints = typing.get_type_hints(_typecheckingstub__7ef2be3172d1df94da8603df93c79aa68aa713132917a7f79ee5d67eca13bdc5)
457
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
458
- jsii.set(self, "manifestProcessingRules", value)
459
-
460
- @builtins.property
461
- @jsii.member(jsii_name="personalizationThresholdSeconds")
462
- def personalization_threshold_seconds(self) -> typing.Optional[jsii.Number]:
463
- '''Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break.'''
464
- return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "personalizationThresholdSeconds"))
465
-
466
- @personalization_threshold_seconds.setter
467
- def personalization_threshold_seconds(
468
- self,
469
- value: typing.Optional[jsii.Number],
470
- ) -> None:
471
- if __debug__:
472
- type_hints = typing.get_type_hints(_typecheckingstub__cf4368b8d6051e265005679584bc63cae740383861026b06e26c9de1f0954cee)
473
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
474
- jsii.set(self, "personalizationThresholdSeconds", value)
475
-
476
- @builtins.property
477
- @jsii.member(jsii_name="slateAdUrl")
478
- def slate_ad_url(self) -> typing.Optional[builtins.str]:
479
- '''The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads.'''
480
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "slateAdUrl"))
481
-
482
- @slate_ad_url.setter
483
- def slate_ad_url(self, value: typing.Optional[builtins.str]) -> None:
484
- if __debug__:
485
- type_hints = typing.get_type_hints(_typecheckingstub__905f1e5f55e6f998cb17136c0f4a82bcebc656a336f14fbf28f45aab3b7ab881)
486
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
487
- jsii.set(self, "slateAdUrl", value)
488
-
489
- @builtins.property
490
- @jsii.member(jsii_name="tagsRaw")
491
- def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
492
- '''The tags to assign to the playback configuration.'''
493
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
494
-
495
- @tags_raw.setter
496
- def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
497
- if __debug__:
498
- type_hints = typing.get_type_hints(_typecheckingstub__d76f0247a7421af76c87f40a095ad78f3c6ad9b0a567e02e8daca4c67eee9302)
499
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
500
- jsii.set(self, "tagsRaw", value)
501
-
502
- @builtins.property
503
- @jsii.member(jsii_name="transcodeProfileName")
504
- def transcode_profile_name(self) -> typing.Optional[builtins.str]:
505
- '''The name that is used to associate this playback configuration with a custom transcode profile.'''
506
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "transcodeProfileName"))
507
-
508
- @transcode_profile_name.setter
509
- def transcode_profile_name(self, value: typing.Optional[builtins.str]) -> None:
510
- if __debug__:
511
- type_hints = typing.get_type_hints(_typecheckingstub__ab6a880d781d782bb5f703943747735b9af031af290dd1ad2e9ebe2732d26c2d)
512
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
513
- jsii.set(self, "transcodeProfileName", value)
287
+ jsii.set(self, "tier", value)
514
288
 
515
289
  @jsii.data_type(
516
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty",
290
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannel.DashPlaylistSettingsProperty",
517
291
  jsii_struct_bases=[],
518
- name_mapping={"enabled": "enabled"},
292
+ name_mapping={
293
+ "manifest_window_seconds": "manifestWindowSeconds",
294
+ "min_buffer_time_seconds": "minBufferTimeSeconds",
295
+ "min_update_period_seconds": "minUpdatePeriodSeconds",
296
+ "suggested_presentation_delay_seconds": "suggestedPresentationDelaySeconds",
297
+ },
519
298
  )
520
- class AdMarkerPassthroughProperty:
299
+ class DashPlaylistSettingsProperty:
521
300
  def __init__(
522
301
  self,
523
302
  *,
524
- enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
303
+ manifest_window_seconds: typing.Optional[jsii.Number] = None,
304
+ min_buffer_time_seconds: typing.Optional[jsii.Number] = None,
305
+ min_update_period_seconds: typing.Optional[jsii.Number] = None,
306
+ suggested_presentation_delay_seconds: typing.Optional[jsii.Number] = None,
525
307
  ) -> None:
526
- '''For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.
527
-
528
- No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
529
-
530
- :param enabled: Enables ad marker passthrough for your configuration.
308
+ '''
309
+ :param manifest_window_seconds: Minimum value: 30 seconds. Maximum value: 3600 seconds. Default: - 0
310
+ :param min_buffer_time_seconds: Minimum value: 2 seconds. Maximum value: 60 seconds. Default: - 0
311
+ :param min_update_period_seconds: Minimum value: 2 seconds. Maximum value: 60 seconds. Default: - 0
312
+ :param suggested_presentation_delay_seconds: Minimum value: 2 seconds. Maximum value: 60 seconds. Default: - 0
531
313
 
532
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html
314
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-dashplaylistsettings.html
533
315
  :exampleMetadata: fixture=_generated
534
316
 
535
317
  Example::
@@ -538,27 +320,76 @@ class CfnPlaybackConfiguration(
538
320
  # The values are placeholders you should change.
539
321
  from aws_cdk import aws_mediatailor as mediatailor
540
322
 
541
- ad_marker_passthrough_property = mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
542
- enabled=False
323
+ dash_playlist_settings_property = mediatailor.CfnChannel.DashPlaylistSettingsProperty(
324
+ manifest_window_seconds=123,
325
+ min_buffer_time_seconds=123,
326
+ min_update_period_seconds=123,
327
+ suggested_presentation_delay_seconds=123
543
328
  )
544
329
  '''
545
330
  if __debug__:
546
- type_hints = typing.get_type_hints(_typecheckingstub__c84cc8c470c35ea1870d24a6e58a722cc2d0952d699c858000349755866ccea6)
547
- check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
331
+ type_hints = typing.get_type_hints(_typecheckingstub__e53b76fce032c9b5b0b3ab03b03ec40f7f01e061c77ffbd9e3b0101056eecfb5)
332
+ check_type(argname="argument manifest_window_seconds", value=manifest_window_seconds, expected_type=type_hints["manifest_window_seconds"])
333
+ check_type(argname="argument min_buffer_time_seconds", value=min_buffer_time_seconds, expected_type=type_hints["min_buffer_time_seconds"])
334
+ check_type(argname="argument min_update_period_seconds", value=min_update_period_seconds, expected_type=type_hints["min_update_period_seconds"])
335
+ check_type(argname="argument suggested_presentation_delay_seconds", value=suggested_presentation_delay_seconds, expected_type=type_hints["suggested_presentation_delay_seconds"])
548
336
  self._values: typing.Dict[builtins.str, typing.Any] = {}
549
- if enabled is not None:
550
- self._values["enabled"] = enabled
337
+ if manifest_window_seconds is not None:
338
+ self._values["manifest_window_seconds"] = manifest_window_seconds
339
+ if min_buffer_time_seconds is not None:
340
+ self._values["min_buffer_time_seconds"] = min_buffer_time_seconds
341
+ if min_update_period_seconds is not None:
342
+ self._values["min_update_period_seconds"] = min_update_period_seconds
343
+ if suggested_presentation_delay_seconds is not None:
344
+ self._values["suggested_presentation_delay_seconds"] = suggested_presentation_delay_seconds
551
345
 
552
346
  @builtins.property
553
- def enabled(
554
- self,
555
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
556
- '''Enables ad marker passthrough for your configuration.
347
+ def manifest_window_seconds(self) -> typing.Optional[jsii.Number]:
348
+ '''
349
+ Minimum value: 30 seconds. Maximum value: 3600 seconds.
557
350
 
558
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html#cfn-mediatailor-playbackconfiguration-admarkerpassthrough-enabled
351
+ :default: - 0
352
+
353
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-dashplaylistsettings.html#cfn-mediatailor-channel-dashplaylistsettings-manifestwindowseconds
559
354
  '''
560
- result = self._values.get("enabled")
561
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
355
+ result = self._values.get("manifest_window_seconds")
356
+ return typing.cast(typing.Optional[jsii.Number], result)
357
+
358
+ @builtins.property
359
+ def min_buffer_time_seconds(self) -> typing.Optional[jsii.Number]:
360
+ '''
361
+ Minimum value: 2 seconds. Maximum value: 60 seconds.
362
+
363
+ :default: - 0
364
+
365
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-dashplaylistsettings.html#cfn-mediatailor-channel-dashplaylistsettings-minbuffertimeseconds
366
+ '''
367
+ result = self._values.get("min_buffer_time_seconds")
368
+ return typing.cast(typing.Optional[jsii.Number], result)
369
+
370
+ @builtins.property
371
+ def min_update_period_seconds(self) -> typing.Optional[jsii.Number]:
372
+ '''
373
+ Minimum value: 2 seconds. Maximum value: 60 seconds.
374
+
375
+ :default: - 0
376
+
377
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-dashplaylistsettings.html#cfn-mediatailor-channel-dashplaylistsettings-minupdateperiodseconds
378
+ '''
379
+ result = self._values.get("min_update_period_seconds")
380
+ return typing.cast(typing.Optional[jsii.Number], result)
381
+
382
+ @builtins.property
383
+ def suggested_presentation_delay_seconds(self) -> typing.Optional[jsii.Number]:
384
+ '''
385
+ Minimum value: 2 seconds. Maximum value: 60 seconds.
386
+
387
+ :default: - 0
388
+
389
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-dashplaylistsettings.html#cfn-mediatailor-channel-dashplaylistsettings-suggestedpresentationdelayseconds
390
+ '''
391
+ result = self._values.get("suggested_presentation_delay_seconds")
392
+ return typing.cast(typing.Optional[jsii.Number], result)
562
393
 
563
394
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
564
395
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -567,30 +398,25 @@ class CfnPlaybackConfiguration(
567
398
  return not (rhs == self)
568
399
 
569
400
  def __repr__(self) -> str:
570
- return "AdMarkerPassthroughProperty(%s)" % ", ".join(
401
+ return "DashPlaylistSettingsProperty(%s)" % ", ".join(
571
402
  k + "=" + repr(v) for k, v in self._values.items()
572
403
  )
573
404
 
574
405
  @jsii.data_type(
575
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty",
406
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannel.HlsPlaylistSettingsProperty",
576
407
  jsii_struct_bases=[],
577
- name_mapping={"mode": "mode", "value": "value"},
408
+ name_mapping={"manifest_window_seconds": "manifestWindowSeconds"},
578
409
  )
579
- class AvailSuppressionProperty:
410
+ class HlsPlaylistSettingsProperty:
580
411
  def __init__(
581
412
  self,
582
413
  *,
583
- mode: typing.Optional[builtins.str] = None,
584
- value: typing.Optional[builtins.str] = None,
414
+ manifest_window_seconds: typing.Optional[jsii.Number] = None,
585
415
  ) -> None:
586
- '''The configuration for avail suppression, also known as ad suppression.
587
-
588
- For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
589
-
590
- :param mode: Sets the ad suppression mode. By default, ad suppression is set to OFF and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.
591
- :param value: A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
416
+ '''
417
+ :param manifest_window_seconds: Minimum value: 30 seconds. Maximum value: 3600 seconds. Default: - 0
592
418
 
593
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html
419
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-hlsplaylistsettings.html
594
420
  :exampleMetadata: fixture=_generated
595
421
 
596
422
  Example::
@@ -599,42 +425,28 @@ class CfnPlaybackConfiguration(
599
425
  # The values are placeholders you should change.
600
426
  from aws_cdk import aws_mediatailor as mediatailor
601
427
 
602
- avail_suppression_property = mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty(
603
- mode="mode",
604
- value="value"
428
+ hls_playlist_settings_property = mediatailor.CfnChannel.HlsPlaylistSettingsProperty(
429
+ manifest_window_seconds=123
605
430
  )
606
431
  '''
607
432
  if __debug__:
608
- type_hints = typing.get_type_hints(_typecheckingstub__8b4195a89a44a68af7fade1bdaaea19a0b3104ca5fc40a34ac2c5440a8d5f1d0)
609
- check_type(argname="argument mode", value=mode, expected_type=type_hints["mode"])
610
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
433
+ type_hints = typing.get_type_hints(_typecheckingstub__e31cc39cb17d92681c3726ed02355f545c95afa6883032b1e93af1c43179acc2)
434
+ check_type(argname="argument manifest_window_seconds", value=manifest_window_seconds, expected_type=type_hints["manifest_window_seconds"])
611
435
  self._values: typing.Dict[builtins.str, typing.Any] = {}
612
- if mode is not None:
613
- self._values["mode"] = mode
614
- if value is not None:
615
- self._values["value"] = value
436
+ if manifest_window_seconds is not None:
437
+ self._values["manifest_window_seconds"] = manifest_window_seconds
616
438
 
617
439
  @builtins.property
618
- def mode(self) -> typing.Optional[builtins.str]:
619
- '''Sets the ad suppression mode.
620
-
621
- By default, ad suppression is set to OFF and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.
622
-
623
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-mode
440
+ def manifest_window_seconds(self) -> typing.Optional[jsii.Number]:
624
441
  '''
625
- result = self._values.get("mode")
626
- return typing.cast(typing.Optional[builtins.str], result)
627
-
628
- @builtins.property
629
- def value(self) -> typing.Optional[builtins.str]:
630
- '''A live edge offset time in HH:MM:SS.
442
+ Minimum value: 30 seconds. Maximum value: 3600 seconds.
631
443
 
632
- MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
444
+ :default: - 0
633
445
 
634
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-value
446
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-hlsplaylistsettings.html#cfn-mediatailor-channel-hlsplaylistsettings-manifestwindowseconds
635
447
  '''
636
- result = self._values.get("value")
637
- return typing.cast(typing.Optional[builtins.str], result)
448
+ result = self._values.get("manifest_window_seconds")
449
+ return typing.cast(typing.Optional[jsii.Number], result)
638
450
 
639
451
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
640
452
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -643,30 +455,25 @@ class CfnPlaybackConfiguration(
643
455
  return not (rhs == self)
644
456
 
645
457
  def __repr__(self) -> str:
646
- return "AvailSuppressionProperty(%s)" % ", ".join(
458
+ return "HlsPlaylistSettingsProperty(%s)" % ", ".join(
647
459
  k + "=" + repr(v) for k, v in self._values.items()
648
460
  )
649
461
 
650
462
  @jsii.data_type(
651
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.BumperProperty",
463
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannel.LogConfigurationForChannelProperty",
652
464
  jsii_struct_bases=[],
653
- name_mapping={"end_url": "endUrl", "start_url": "startUrl"},
465
+ name_mapping={"log_types": "logTypes"},
654
466
  )
655
- class BumperProperty:
467
+ class LogConfigurationForChannelProperty:
656
468
  def __init__(
657
469
  self,
658
470
  *,
659
- end_url: typing.Optional[builtins.str] = None,
660
- start_url: typing.Optional[builtins.str] = None,
471
+ log_types: typing.Optional[typing.Sequence[builtins.str]] = None,
661
472
  ) -> None:
662
- '''The configuration for bumpers.
663
-
664
- Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
665
-
666
- :param end_url: The URL for the end bumper asset.
667
- :param start_url: The URL for the start bumper asset.
473
+ '''
474
+ :param log_types:
668
475
 
669
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html
476
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-logconfigurationforchannel.html
670
477
  :exampleMetadata: fixture=_generated
671
478
 
672
479
  Example::
@@ -675,38 +482,24 @@ class CfnPlaybackConfiguration(
675
482
  # The values are placeholders you should change.
676
483
  from aws_cdk import aws_mediatailor as mediatailor
677
484
 
678
- bumper_property = mediatailor.CfnPlaybackConfiguration.BumperProperty(
679
- end_url="endUrl",
680
- start_url="startUrl"
485
+ log_configuration_for_channel_property = mediatailor.CfnChannel.LogConfigurationForChannelProperty(
486
+ log_types=["logTypes"]
681
487
  )
682
488
  '''
683
489
  if __debug__:
684
- type_hints = typing.get_type_hints(_typecheckingstub__d4d8e62c25a38e7667cc4c7f67e131b03585a6b02ccb1e6956572e91491c2565)
685
- check_type(argname="argument end_url", value=end_url, expected_type=type_hints["end_url"])
686
- check_type(argname="argument start_url", value=start_url, expected_type=type_hints["start_url"])
490
+ type_hints = typing.get_type_hints(_typecheckingstub__e5a7e7699e2937a5b57a4d1b83f5129fa2b21541bc55e1f79a1ca106377c5300)
491
+ check_type(argname="argument log_types", value=log_types, expected_type=type_hints["log_types"])
687
492
  self._values: typing.Dict[builtins.str, typing.Any] = {}
688
- if end_url is not None:
689
- self._values["end_url"] = end_url
690
- if start_url is not None:
691
- self._values["start_url"] = start_url
493
+ if log_types is not None:
494
+ self._values["log_types"] = log_types
692
495
 
693
496
  @builtins.property
694
- def end_url(self) -> typing.Optional[builtins.str]:
695
- '''The URL for the end bumper asset.
696
-
697
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-endurl
497
+ def log_types(self) -> typing.Optional[typing.List[builtins.str]]:
698
498
  '''
699
- result = self._values.get("end_url")
700
- return typing.cast(typing.Optional[builtins.str], result)
701
-
702
- @builtins.property
703
- def start_url(self) -> typing.Optional[builtins.str]:
704
- '''The URL for the start bumper asset.
705
-
706
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-starturl
499
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-logconfigurationforchannel.html#cfn-mediatailor-channel-logconfigurationforchannel-logtypes
707
500
  '''
708
- result = self._values.get("start_url")
709
- return typing.cast(typing.Optional[builtins.str], result)
501
+ result = self._values.get("log_types")
502
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
710
503
 
711
504
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
712
505
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -715,31 +508,36 @@ class CfnPlaybackConfiguration(
715
508
  return not (rhs == self)
716
509
 
717
510
  def __repr__(self) -> str:
718
- return "BumperProperty(%s)" % ", ".join(
511
+ return "LogConfigurationForChannelProperty(%s)" % ", ".join(
719
512
  k + "=" + repr(v) for k, v in self._values.items()
720
513
  )
721
514
 
722
515
  @jsii.data_type(
723
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty",
516
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannel.RequestOutputItemProperty",
724
517
  jsii_struct_bases=[],
725
518
  name_mapping={
726
- "ad_segment_url_prefix": "adSegmentUrlPrefix",
727
- "content_segment_url_prefix": "contentSegmentUrlPrefix",
519
+ "manifest_name": "manifestName",
520
+ "source_group": "sourceGroup",
521
+ "dash_playlist_settings": "dashPlaylistSettings",
522
+ "hls_playlist_settings": "hlsPlaylistSettings",
728
523
  },
729
524
  )
730
- class CdnConfigurationProperty:
525
+ class RequestOutputItemProperty:
731
526
  def __init__(
732
527
  self,
733
528
  *,
734
- ad_segment_url_prefix: typing.Optional[builtins.str] = None,
735
- content_segment_url_prefix: typing.Optional[builtins.str] = None,
529
+ manifest_name: builtins.str,
530
+ source_group: builtins.str,
531
+ dash_playlist_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannel.DashPlaylistSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
532
+ hls_playlist_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannel.HlsPlaylistSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
736
533
  ) -> None:
737
- '''The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
738
-
739
- :param ad_segment_url_prefix: A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.
740
- :param content_segment_url_prefix: A content delivery network (CDN) to cache content segments, so that content requests don't always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.
534
+ '''
535
+ :param manifest_name: The name appears in the PlaybackUrl.
536
+ :param source_group:
537
+ :param dash_playlist_settings:
538
+ :param hls_playlist_settings:
741
539
 
742
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html
540
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-requestoutputitem.html
743
541
  :exampleMetadata: fixture=_generated
744
542
 
745
543
  Example::
@@ -748,78 +546,2139 @@ class CfnPlaybackConfiguration(
748
546
  # The values are placeholders you should change.
749
547
  from aws_cdk import aws_mediatailor as mediatailor
750
548
 
751
- cdn_configuration_property = mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty(
752
- ad_segment_url_prefix="adSegmentUrlPrefix",
753
- content_segment_url_prefix="contentSegmentUrlPrefix"
549
+ request_output_item_property = mediatailor.CfnChannel.RequestOutputItemProperty(
550
+ manifest_name="manifestName",
551
+ source_group="sourceGroup",
552
+
553
+ # the properties below are optional
554
+ dash_playlist_settings=mediatailor.CfnChannel.DashPlaylistSettingsProperty(
555
+ manifest_window_seconds=123,
556
+ min_buffer_time_seconds=123,
557
+ min_update_period_seconds=123,
558
+ suggested_presentation_delay_seconds=123
559
+ ),
560
+ hls_playlist_settings=mediatailor.CfnChannel.HlsPlaylistSettingsProperty(
561
+ manifest_window_seconds=123
562
+ )
754
563
  )
755
564
  '''
756
565
  if __debug__:
757
- type_hints = typing.get_type_hints(_typecheckingstub__11ed9c00b014872bf1ce7a32f613cee3497f59c3a8f8ed7c34d59e731f7a30a1)
758
- check_type(argname="argument ad_segment_url_prefix", value=ad_segment_url_prefix, expected_type=type_hints["ad_segment_url_prefix"])
759
- check_type(argname="argument content_segment_url_prefix", value=content_segment_url_prefix, expected_type=type_hints["content_segment_url_prefix"])
760
- self._values: typing.Dict[builtins.str, typing.Any] = {}
761
- if ad_segment_url_prefix is not None:
762
- self._values["ad_segment_url_prefix"] = ad_segment_url_prefix
763
- if content_segment_url_prefix is not None:
764
- self._values["content_segment_url_prefix"] = content_segment_url_prefix
566
+ type_hints = typing.get_type_hints(_typecheckingstub__f1d4c3a316ddc28d5db9dbd943c872960619d5643164875a0009ce4f4639f744)
567
+ check_type(argname="argument manifest_name", value=manifest_name, expected_type=type_hints["manifest_name"])
568
+ check_type(argname="argument source_group", value=source_group, expected_type=type_hints["source_group"])
569
+ check_type(argname="argument dash_playlist_settings", value=dash_playlist_settings, expected_type=type_hints["dash_playlist_settings"])
570
+ check_type(argname="argument hls_playlist_settings", value=hls_playlist_settings, expected_type=type_hints["hls_playlist_settings"])
571
+ self._values: typing.Dict[builtins.str, typing.Any] = {
572
+ "manifest_name": manifest_name,
573
+ "source_group": source_group,
574
+ }
575
+ if dash_playlist_settings is not None:
576
+ self._values["dash_playlist_settings"] = dash_playlist_settings
577
+ if hls_playlist_settings is not None:
578
+ self._values["hls_playlist_settings"] = hls_playlist_settings
765
579
 
766
580
  @builtins.property
767
- def ad_segment_url_prefix(self) -> typing.Optional[builtins.str]:
768
- '''A non-default content delivery network (CDN) to serve ad segments.
769
-
770
- By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin ads.mediatailor..amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.
581
+ def manifest_name(self) -> builtins.str:
582
+ '''
583
+ The name appears in the PlaybackUrl.
771
584
 
772
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-adsegmenturlprefix
585
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-requestoutputitem.html#cfn-mediatailor-channel-requestoutputitem-manifestname
773
586
  '''
774
- result = self._values.get("ad_segment_url_prefix")
775
- return typing.cast(typing.Optional[builtins.str], result)
587
+ result = self._values.get("manifest_name")
588
+ assert result is not None, "Required property 'manifest_name' is missing"
589
+ return typing.cast(builtins.str, result)
776
590
 
777
591
  @builtins.property
778
- def content_segment_url_prefix(self) -> typing.Optional[builtins.str]:
779
- '''A content delivery network (CDN) to cache content segments, so that content requests don't always have to go to the origin server.
780
-
781
- First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.
782
-
783
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-contentsegmenturlprefix
592
+ def source_group(self) -> builtins.str:
784
593
  '''
785
- result = self._values.get("content_segment_url_prefix")
594
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-requestoutputitem.html#cfn-mediatailor-channel-requestoutputitem-sourcegroup
595
+ '''
596
+ result = self._values.get("source_group")
597
+ assert result is not None, "Required property 'source_group' is missing"
598
+ return typing.cast(builtins.str, result)
599
+
600
+ @builtins.property
601
+ def dash_playlist_settings(
602
+ self,
603
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.DashPlaylistSettingsProperty"]]:
604
+ '''
605
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-requestoutputitem.html#cfn-mediatailor-channel-requestoutputitem-dashplaylistsettings
606
+ '''
607
+ result = self._values.get("dash_playlist_settings")
608
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.DashPlaylistSettingsProperty"]], result)
609
+
610
+ @builtins.property
611
+ def hls_playlist_settings(
612
+ self,
613
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.HlsPlaylistSettingsProperty"]]:
614
+ '''
615
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-requestoutputitem.html#cfn-mediatailor-channel-requestoutputitem-hlsplaylistsettings
616
+ '''
617
+ result = self._values.get("hls_playlist_settings")
618
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.HlsPlaylistSettingsProperty"]], result)
619
+
620
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
621
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
622
+
623
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
624
+ return not (rhs == self)
625
+
626
+ def __repr__(self) -> str:
627
+ return "RequestOutputItemProperty(%s)" % ", ".join(
628
+ k + "=" + repr(v) for k, v in self._values.items()
629
+ )
630
+
631
+ @jsii.data_type(
632
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannel.SlateSourceProperty",
633
+ jsii_struct_bases=[],
634
+ name_mapping={
635
+ "source_location_name": "sourceLocationName",
636
+ "vod_source_name": "vodSourceName",
637
+ },
638
+ )
639
+ class SlateSourceProperty:
640
+ def __init__(
641
+ self,
642
+ *,
643
+ source_location_name: typing.Optional[builtins.str] = None,
644
+ vod_source_name: typing.Optional[builtins.str] = None,
645
+ ) -> None:
646
+ '''
647
+ :param source_location_name:
648
+ :param vod_source_name: The VOD source must already exist in a source location before it can be used for slate.
649
+
650
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-slatesource.html
651
+ :exampleMetadata: fixture=_generated
652
+
653
+ Example::
654
+
655
+ # The code below shows an example of how to instantiate this type.
656
+ # The values are placeholders you should change.
657
+ from aws_cdk import aws_mediatailor as mediatailor
658
+
659
+ slate_source_property = mediatailor.CfnChannel.SlateSourceProperty(
660
+ source_location_name="sourceLocationName",
661
+ vod_source_name="vodSourceName"
662
+ )
663
+ '''
664
+ if __debug__:
665
+ type_hints = typing.get_type_hints(_typecheckingstub__87bdd7eb43c3b69dcc5175fbdbdf3f64ecc1bea153e89e341c467115c5854c1e)
666
+ check_type(argname="argument source_location_name", value=source_location_name, expected_type=type_hints["source_location_name"])
667
+ check_type(argname="argument vod_source_name", value=vod_source_name, expected_type=type_hints["vod_source_name"])
668
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
669
+ if source_location_name is not None:
670
+ self._values["source_location_name"] = source_location_name
671
+ if vod_source_name is not None:
672
+ self._values["vod_source_name"] = vod_source_name
673
+
674
+ @builtins.property
675
+ def source_location_name(self) -> typing.Optional[builtins.str]:
676
+ '''
677
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-slatesource.html#cfn-mediatailor-channel-slatesource-sourcelocationname
678
+ '''
679
+ result = self._values.get("source_location_name")
680
+ return typing.cast(typing.Optional[builtins.str], result)
681
+
682
+ @builtins.property
683
+ def vod_source_name(self) -> typing.Optional[builtins.str]:
684
+ '''
685
+ The VOD source must already exist in a source location before it can be used for slate.
686
+
687
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-slatesource.html#cfn-mediatailor-channel-slatesource-vodsourcename
688
+ '''
689
+ result = self._values.get("vod_source_name")
786
690
  return typing.cast(typing.Optional[builtins.str], result)
787
691
 
788
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
789
- return isinstance(rhs, self.__class__) and rhs._values == self._values
692
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
693
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
694
+
695
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
696
+ return not (rhs == self)
697
+
698
+ def __repr__(self) -> str:
699
+ return "SlateSourceProperty(%s)" % ", ".join(
700
+ k + "=" + repr(v) for k, v in self._values.items()
701
+ )
702
+
703
+
704
+ @jsii.implements(_IInspectable_c2943556)
705
+ class CfnChannelPolicy(
706
+ _CfnResource_9df397a6,
707
+ metaclass=jsii.JSIIMeta,
708
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannelPolicy",
709
+ ):
710
+ '''Definition of AWS::MediaTailor::ChannelPolicy Resource Type.
711
+
712
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html
713
+ :exampleMetadata: fixture=_generated
714
+
715
+ Example::
716
+
717
+ # The code below shows an example of how to instantiate this type.
718
+ # The values are placeholders you should change.
719
+ from aws_cdk import aws_mediatailor as mediatailor
720
+
721
+ # policy: Any
722
+
723
+ cfn_channel_policy = mediatailor.CfnChannelPolicy(self, "MyCfnChannelPolicy",
724
+ channel_name="channelName",
725
+ policy=policy
726
+ )
727
+ '''
728
+
729
+ def __init__(
730
+ self,
731
+ scope: _constructs_77d1e7e8.Construct,
732
+ id: builtins.str,
733
+ *,
734
+ channel_name: builtins.str,
735
+ policy: typing.Any,
736
+ ) -> None:
737
+ '''
738
+ :param scope: Scope in which this resource is defined.
739
+ :param id: Construct identifier for this resource (unique in its scope).
740
+ :param channel_name:
741
+ :param policy:
742
+ '''
743
+ if __debug__:
744
+ type_hints = typing.get_type_hints(_typecheckingstub__31394bd173fe2beb5213e9badd5aafc6ea2b160b870f8a0efcdd0c7418364408)
745
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
746
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
747
+ props = CfnChannelPolicyProps(channel_name=channel_name, policy=policy)
748
+
749
+ jsii.create(self.__class__, self, [scope, id, props])
750
+
751
+ @jsii.member(jsii_name="inspect")
752
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
753
+ '''Examines the CloudFormation resource and discloses attributes.
754
+
755
+ :param inspector: tree inspector to collect and process attributes.
756
+ '''
757
+ if __debug__:
758
+ type_hints = typing.get_type_hints(_typecheckingstub__9bb5c51872ae1d2e26ab60faf42e8f67d099d72d6182d14f72ac00d2820a1253)
759
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
760
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
761
+
762
+ @jsii.member(jsii_name="renderProperties")
763
+ def _render_properties(
764
+ self,
765
+ props: typing.Mapping[builtins.str, typing.Any],
766
+ ) -> typing.Mapping[builtins.str, typing.Any]:
767
+ '''
768
+ :param props: -
769
+ '''
770
+ if __debug__:
771
+ type_hints = typing.get_type_hints(_typecheckingstub__77acf1b52692f677278f400d1fc6aac28c4f4db4641fe9077e743d4105363c94)
772
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
773
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
774
+
775
+ @jsii.python.classproperty
776
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
777
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
778
+ '''The CloudFormation resource type name for this resource class.'''
779
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
780
+
781
+ @builtins.property
782
+ @jsii.member(jsii_name="cfnProperties")
783
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
784
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
785
+
786
+ @builtins.property
787
+ @jsii.member(jsii_name="channelName")
788
+ def channel_name(self) -> builtins.str:
789
+ return typing.cast(builtins.str, jsii.get(self, "channelName"))
790
+
791
+ @channel_name.setter
792
+ def channel_name(self, value: builtins.str) -> None:
793
+ if __debug__:
794
+ type_hints = typing.get_type_hints(_typecheckingstub__33c69c2a3ec02545796ab2a280c6251e38cd027ef575f6e9b82b2238d613b8fb)
795
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
796
+ jsii.set(self, "channelName", value)
797
+
798
+ @builtins.property
799
+ @jsii.member(jsii_name="policy")
800
+ def policy(self) -> typing.Any:
801
+ return typing.cast(typing.Any, jsii.get(self, "policy"))
802
+
803
+ @policy.setter
804
+ def policy(self, value: typing.Any) -> None:
805
+ if __debug__:
806
+ type_hints = typing.get_type_hints(_typecheckingstub__d60990c1542e708efa866295766195f2b5035b80cea3aacc1e22a1d78dd31022)
807
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
808
+ jsii.set(self, "policy", value)
809
+
810
+
811
+ @jsii.data_type(
812
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannelPolicyProps",
813
+ jsii_struct_bases=[],
814
+ name_mapping={"channel_name": "channelName", "policy": "policy"},
815
+ )
816
+ class CfnChannelPolicyProps:
817
+ def __init__(self, *, channel_name: builtins.str, policy: typing.Any) -> None:
818
+ '''Properties for defining a ``CfnChannelPolicy``.
819
+
820
+ :param channel_name:
821
+ :param policy:
822
+
823
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html
824
+ :exampleMetadata: fixture=_generated
825
+
826
+ Example::
827
+
828
+ # The code below shows an example of how to instantiate this type.
829
+ # The values are placeholders you should change.
830
+ from aws_cdk import aws_mediatailor as mediatailor
831
+
832
+ # policy: Any
833
+
834
+ cfn_channel_policy_props = mediatailor.CfnChannelPolicyProps(
835
+ channel_name="channelName",
836
+ policy=policy
837
+ )
838
+ '''
839
+ if __debug__:
840
+ type_hints = typing.get_type_hints(_typecheckingstub__0760e4c2515aab3aa0d5aa04febae58f777b0b8b02fe135798d73d9cfc228e7d)
841
+ check_type(argname="argument channel_name", value=channel_name, expected_type=type_hints["channel_name"])
842
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
843
+ self._values: typing.Dict[builtins.str, typing.Any] = {
844
+ "channel_name": channel_name,
845
+ "policy": policy,
846
+ }
847
+
848
+ @builtins.property
849
+ def channel_name(self) -> builtins.str:
850
+ '''
851
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html#cfn-mediatailor-channelpolicy-channelname
852
+ '''
853
+ result = self._values.get("channel_name")
854
+ assert result is not None, "Required property 'channel_name' is missing"
855
+ return typing.cast(builtins.str, result)
856
+
857
+ @builtins.property
858
+ def policy(self) -> typing.Any:
859
+ '''
860
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html#cfn-mediatailor-channelpolicy-policy
861
+ '''
862
+ result = self._values.get("policy")
863
+ assert result is not None, "Required property 'policy' is missing"
864
+ return typing.cast(typing.Any, result)
865
+
866
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
867
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
868
+
869
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
870
+ return not (rhs == self)
871
+
872
+ def __repr__(self) -> str:
873
+ return "CfnChannelPolicyProps(%s)" % ", ".join(
874
+ k + "=" + repr(v) for k, v in self._values.items()
875
+ )
876
+
877
+
878
+ @jsii.data_type(
879
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnChannelProps",
880
+ jsii_struct_bases=[],
881
+ name_mapping={
882
+ "channel_name": "channelName",
883
+ "outputs": "outputs",
884
+ "playback_mode": "playbackMode",
885
+ "filler_slate": "fillerSlate",
886
+ "log_configuration": "logConfiguration",
887
+ "tags": "tags",
888
+ "tier": "tier",
889
+ },
890
+ )
891
+ class CfnChannelProps:
892
+ def __init__(
893
+ self,
894
+ *,
895
+ channel_name: builtins.str,
896
+ outputs: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.RequestOutputItemProperty, typing.Dict[builtins.str, typing.Any]]]]],
897
+ playback_mode: builtins.str,
898
+ filler_slate: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.SlateSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
899
+ log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.LogConfigurationForChannelProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
900
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
901
+ tier: typing.Optional[builtins.str] = None,
902
+ ) -> None:
903
+ '''Properties for defining a ``CfnChannel``.
904
+
905
+ :param channel_name:
906
+ :param outputs:
907
+ :param playback_mode:
908
+ :param filler_slate:
909
+ :param log_configuration:
910
+ :param tags: The tags to assign to the channel.
911
+ :param tier:
912
+
913
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html
914
+ :exampleMetadata: fixture=_generated
915
+
916
+ Example::
917
+
918
+ # The code below shows an example of how to instantiate this type.
919
+ # The values are placeholders you should change.
920
+ from aws_cdk import aws_mediatailor as mediatailor
921
+
922
+ cfn_channel_props = mediatailor.CfnChannelProps(
923
+ channel_name="channelName",
924
+ outputs=[mediatailor.CfnChannel.RequestOutputItemProperty(
925
+ manifest_name="manifestName",
926
+ source_group="sourceGroup",
927
+
928
+ # the properties below are optional
929
+ dash_playlist_settings=mediatailor.CfnChannel.DashPlaylistSettingsProperty(
930
+ manifest_window_seconds=123,
931
+ min_buffer_time_seconds=123,
932
+ min_update_period_seconds=123,
933
+ suggested_presentation_delay_seconds=123
934
+ ),
935
+ hls_playlist_settings=mediatailor.CfnChannel.HlsPlaylistSettingsProperty(
936
+ manifest_window_seconds=123
937
+ )
938
+ )],
939
+ playback_mode="playbackMode",
940
+
941
+ # the properties below are optional
942
+ filler_slate=mediatailor.CfnChannel.SlateSourceProperty(
943
+ source_location_name="sourceLocationName",
944
+ vod_source_name="vodSourceName"
945
+ ),
946
+ log_configuration=mediatailor.CfnChannel.LogConfigurationForChannelProperty(
947
+ log_types=["logTypes"]
948
+ ),
949
+ tags=[CfnTag(
950
+ key="key",
951
+ value="value"
952
+ )],
953
+ tier="tier"
954
+ )
955
+ '''
956
+ if __debug__:
957
+ type_hints = typing.get_type_hints(_typecheckingstub__34f9c53dfc17c104058553b2c51bffbfeea7885ab9628618cedcaf8634562913)
958
+ check_type(argname="argument channel_name", value=channel_name, expected_type=type_hints["channel_name"])
959
+ check_type(argname="argument outputs", value=outputs, expected_type=type_hints["outputs"])
960
+ check_type(argname="argument playback_mode", value=playback_mode, expected_type=type_hints["playback_mode"])
961
+ check_type(argname="argument filler_slate", value=filler_slate, expected_type=type_hints["filler_slate"])
962
+ check_type(argname="argument log_configuration", value=log_configuration, expected_type=type_hints["log_configuration"])
963
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
964
+ check_type(argname="argument tier", value=tier, expected_type=type_hints["tier"])
965
+ self._values: typing.Dict[builtins.str, typing.Any] = {
966
+ "channel_name": channel_name,
967
+ "outputs": outputs,
968
+ "playback_mode": playback_mode,
969
+ }
970
+ if filler_slate is not None:
971
+ self._values["filler_slate"] = filler_slate
972
+ if log_configuration is not None:
973
+ self._values["log_configuration"] = log_configuration
974
+ if tags is not None:
975
+ self._values["tags"] = tags
976
+ if tier is not None:
977
+ self._values["tier"] = tier
978
+
979
+ @builtins.property
980
+ def channel_name(self) -> builtins.str:
981
+ '''
982
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html#cfn-mediatailor-channel-channelname
983
+ '''
984
+ result = self._values.get("channel_name")
985
+ assert result is not None, "Required property 'channel_name' is missing"
986
+ return typing.cast(builtins.str, result)
987
+
988
+ @builtins.property
989
+ def outputs(
990
+ self,
991
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannel.RequestOutputItemProperty]]]:
992
+ '''
993
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html#cfn-mediatailor-channel-outputs
994
+ '''
995
+ result = self._values.get("outputs")
996
+ assert result is not None, "Required property 'outputs' is missing"
997
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannel.RequestOutputItemProperty]]], result)
998
+
999
+ @builtins.property
1000
+ def playback_mode(self) -> builtins.str:
1001
+ '''
1002
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html#cfn-mediatailor-channel-playbackmode
1003
+ '''
1004
+ result = self._values.get("playback_mode")
1005
+ assert result is not None, "Required property 'playback_mode' is missing"
1006
+ return typing.cast(builtins.str, result)
1007
+
1008
+ @builtins.property
1009
+ def filler_slate(
1010
+ self,
1011
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.SlateSourceProperty]]:
1012
+ '''
1013
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html#cfn-mediatailor-channel-fillerslate
1014
+ '''
1015
+ result = self._values.get("filler_slate")
1016
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.SlateSourceProperty]], result)
1017
+
1018
+ @builtins.property
1019
+ def log_configuration(
1020
+ self,
1021
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.LogConfigurationForChannelProperty]]:
1022
+ '''
1023
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html#cfn-mediatailor-channel-logconfiguration
1024
+ '''
1025
+ result = self._values.get("log_configuration")
1026
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.LogConfigurationForChannelProperty]], result)
1027
+
1028
+ @builtins.property
1029
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1030
+ '''The tags to assign to the channel.
1031
+
1032
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html#cfn-mediatailor-channel-tags
1033
+ '''
1034
+ result = self._values.get("tags")
1035
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1036
+
1037
+ @builtins.property
1038
+ def tier(self) -> typing.Optional[builtins.str]:
1039
+ '''
1040
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html#cfn-mediatailor-channel-tier
1041
+ '''
1042
+ result = self._values.get("tier")
1043
+ return typing.cast(typing.Optional[builtins.str], result)
1044
+
1045
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1046
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1047
+
1048
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1049
+ return not (rhs == self)
1050
+
1051
+ def __repr__(self) -> str:
1052
+ return "CfnChannelProps(%s)" % ", ".join(
1053
+ k + "=" + repr(v) for k, v in self._values.items()
1054
+ )
1055
+
1056
+
1057
+ @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1058
+ class CfnPlaybackConfiguration(
1059
+ _CfnResource_9df397a6,
1060
+ metaclass=jsii.JSIIMeta,
1061
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration",
1062
+ ):
1063
+ '''Adds a new playback configuration to AWS Elemental MediaTailor .
1064
+
1065
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html
1066
+ :exampleMetadata: fixture=_generated
1067
+
1068
+ Example::
1069
+
1070
+ # The code below shows an example of how to instantiate this type.
1071
+ # The values are placeholders you should change.
1072
+ from aws_cdk import aws_mediatailor as mediatailor
1073
+
1074
+ # configuration_aliases: Any
1075
+
1076
+ cfn_playback_configuration = mediatailor.CfnPlaybackConfiguration(self, "MyCfnPlaybackConfiguration",
1077
+ ad_decision_server_url="adDecisionServerUrl",
1078
+ name="name",
1079
+ video_content_source_url="videoContentSourceUrl",
1080
+
1081
+ # the properties below are optional
1082
+ avail_suppression=mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty(
1083
+ mode="mode",
1084
+ value="value"
1085
+ ),
1086
+ bumper=mediatailor.CfnPlaybackConfiguration.BumperProperty(
1087
+ end_url="endUrl",
1088
+ start_url="startUrl"
1089
+ ),
1090
+ cdn_configuration=mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty(
1091
+ ad_segment_url_prefix="adSegmentUrlPrefix",
1092
+ content_segment_url_prefix="contentSegmentUrlPrefix"
1093
+ ),
1094
+ configuration_aliases={
1095
+ "configuration_aliases_key": configuration_aliases
1096
+ },
1097
+ dash_configuration=mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty(
1098
+ manifest_endpoint_prefix="manifestEndpointPrefix",
1099
+ mpd_location="mpdLocation",
1100
+ origin_manifest_type="originManifestType"
1101
+ ),
1102
+ hls_configuration=mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty(
1103
+ manifest_endpoint_prefix="manifestEndpointPrefix"
1104
+ ),
1105
+ live_pre_roll_configuration=mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty(
1106
+ ad_decision_server_url="adDecisionServerUrl",
1107
+ max_duration_seconds=123
1108
+ ),
1109
+ manifest_processing_rules=mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty(
1110
+ ad_marker_passthrough=mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
1111
+ enabled=False
1112
+ )
1113
+ ),
1114
+ personalization_threshold_seconds=123,
1115
+ slate_ad_url="slateAdUrl",
1116
+ tags=[CfnTag(
1117
+ key="key",
1118
+ value="value"
1119
+ )],
1120
+ transcode_profile_name="transcodeProfileName"
1121
+ )
1122
+ '''
1123
+
1124
+ def __init__(
1125
+ self,
1126
+ scope: _constructs_77d1e7e8.Construct,
1127
+ id: builtins.str,
1128
+ *,
1129
+ ad_decision_server_url: builtins.str,
1130
+ name: builtins.str,
1131
+ video_content_source_url: builtins.str,
1132
+ avail_suppression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.AvailSuppressionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1133
+ bumper: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.BumperProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1134
+ cdn_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.CdnConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1135
+ configuration_aliases: typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]] = None,
1136
+ dash_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.DashConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1137
+ hls_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.HlsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1138
+ live_pre_roll_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.LivePreRollConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1139
+ manifest_processing_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.ManifestProcessingRulesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1140
+ personalization_threshold_seconds: typing.Optional[jsii.Number] = None,
1141
+ slate_ad_url: typing.Optional[builtins.str] = None,
1142
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1143
+ transcode_profile_name: typing.Optional[builtins.str] = None,
1144
+ ) -> None:
1145
+ '''
1146
+ :param scope: Scope in which this resource is defined.
1147
+ :param id: Construct identifier for this resource (unique in its scope).
1148
+ :param ad_decision_server_url: The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
1149
+ :param name: The identifier for the playback configuration.
1150
+ :param video_content_source_url: The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.
1151
+ :param avail_suppression: The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
1152
+ :param bumper: The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
1153
+ :param cdn_configuration: The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
1154
+ :param configuration_aliases: The player parameters and aliases used as dynamic variables during session initialization. For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html>`_ .
1155
+ :param dash_configuration: The configuration for DASH PUT operations.
1156
+ :param hls_configuration: The configuration for HLS content.
1157
+ :param live_pre_roll_configuration: The configuration for pre-roll ad insertion.
1158
+ :param manifest_processing_rules: The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
1159
+ :param personalization_threshold_seconds: Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break. If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
1160
+ :param slate_ad_url: The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
1161
+ :param tags: The tags to assign to the playback configuration.
1162
+ :param transcode_profile_name: The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
1163
+ '''
1164
+ if __debug__:
1165
+ type_hints = typing.get_type_hints(_typecheckingstub__3dcfb97a898a80ee6a7b069e26028183e8a797f0c48fdbd4fe6ecb8ad6fb6911)
1166
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1167
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1168
+ props = CfnPlaybackConfigurationProps(
1169
+ ad_decision_server_url=ad_decision_server_url,
1170
+ name=name,
1171
+ video_content_source_url=video_content_source_url,
1172
+ avail_suppression=avail_suppression,
1173
+ bumper=bumper,
1174
+ cdn_configuration=cdn_configuration,
1175
+ configuration_aliases=configuration_aliases,
1176
+ dash_configuration=dash_configuration,
1177
+ hls_configuration=hls_configuration,
1178
+ live_pre_roll_configuration=live_pre_roll_configuration,
1179
+ manifest_processing_rules=manifest_processing_rules,
1180
+ personalization_threshold_seconds=personalization_threshold_seconds,
1181
+ slate_ad_url=slate_ad_url,
1182
+ tags=tags,
1183
+ transcode_profile_name=transcode_profile_name,
1184
+ )
1185
+
1186
+ jsii.create(self.__class__, self, [scope, id, props])
1187
+
1188
+ @jsii.member(jsii_name="inspect")
1189
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1190
+ '''Examines the CloudFormation resource and discloses attributes.
1191
+
1192
+ :param inspector: tree inspector to collect and process attributes.
1193
+ '''
1194
+ if __debug__:
1195
+ type_hints = typing.get_type_hints(_typecheckingstub__6e8d0bace48ee23b08adfc8cf00f58f43f86ed9fc0b465a4b9dcfaf76c4a0da6)
1196
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1197
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1198
+
1199
+ @jsii.member(jsii_name="renderProperties")
1200
+ def _render_properties(
1201
+ self,
1202
+ props: typing.Mapping[builtins.str, typing.Any],
1203
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1204
+ '''
1205
+ :param props: -
1206
+ '''
1207
+ if __debug__:
1208
+ type_hints = typing.get_type_hints(_typecheckingstub__2663bd7b40c241aeca662815955b87975e8fe4bc363957cbc451c0b30548ea05)
1209
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1210
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1211
+
1212
+ @jsii.python.classproperty
1213
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1214
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1215
+ '''The CloudFormation resource type name for this resource class.'''
1216
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1217
+
1218
+ @builtins.property
1219
+ @jsii.member(jsii_name="attrDashConfigurationManifestEndpointPrefix")
1220
+ def attr_dash_configuration_manifest_endpoint_prefix(self) -> builtins.str:
1221
+ '''The URL generated by MediaTailor to initiate a playback session.
1222
+
1223
+ The session uses server-side reporting. This setting is ignored in PUT operations.
1224
+
1225
+ :cloudformationAttribute: DashConfiguration.ManifestEndpointPrefix
1226
+ '''
1227
+ return typing.cast(builtins.str, jsii.get(self, "attrDashConfigurationManifestEndpointPrefix"))
1228
+
1229
+ @builtins.property
1230
+ @jsii.member(jsii_name="attrHlsConfigurationManifestEndpointPrefix")
1231
+ def attr_hls_configuration_manifest_endpoint_prefix(self) -> builtins.str:
1232
+ '''The URL that is used to initiate a playback session for devices that support Apple HLS.
1233
+
1234
+ The session uses server-side reporting.
1235
+
1236
+ :cloudformationAttribute: HlsConfiguration.ManifestEndpointPrefix
1237
+ '''
1238
+ return typing.cast(builtins.str, jsii.get(self, "attrHlsConfigurationManifestEndpointPrefix"))
1239
+
1240
+ @builtins.property
1241
+ @jsii.member(jsii_name="attrPlaybackConfigurationArn")
1242
+ def attr_playback_configuration_arn(self) -> builtins.str:
1243
+ '''The Amazon Resource Name (ARN) for the playback configuration.
1244
+
1245
+ :cloudformationAttribute: PlaybackConfigurationArn
1246
+ '''
1247
+ return typing.cast(builtins.str, jsii.get(self, "attrPlaybackConfigurationArn"))
1248
+
1249
+ @builtins.property
1250
+ @jsii.member(jsii_name="attrPlaybackEndpointPrefix")
1251
+ def attr_playback_endpoint_prefix(self) -> builtins.str:
1252
+ '''The URL that the player accesses to get a manifest from MediaTailor .
1253
+
1254
+ This session will use server-side reporting.
1255
+
1256
+ :cloudformationAttribute: PlaybackEndpointPrefix
1257
+ '''
1258
+ return typing.cast(builtins.str, jsii.get(self, "attrPlaybackEndpointPrefix"))
1259
+
1260
+ @builtins.property
1261
+ @jsii.member(jsii_name="attrSessionInitializationEndpointPrefix")
1262
+ def attr_session_initialization_endpoint_prefix(self) -> builtins.str:
1263
+ '''The URL that the player uses to initialize a session that uses client-side reporting.
1264
+
1265
+ :cloudformationAttribute: SessionInitializationEndpointPrefix
1266
+ '''
1267
+ return typing.cast(builtins.str, jsii.get(self, "attrSessionInitializationEndpointPrefix"))
1268
+
1269
+ @builtins.property
1270
+ @jsii.member(jsii_name="cfnProperties")
1271
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1272
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1273
+
1274
+ @builtins.property
1275
+ @jsii.member(jsii_name="tags")
1276
+ def tags(self) -> _TagManager_0a598cb3:
1277
+ '''Tag Manager which manages the tags for this resource.'''
1278
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
1279
+
1280
+ @builtins.property
1281
+ @jsii.member(jsii_name="adDecisionServerUrl")
1282
+ def ad_decision_server_url(self) -> builtins.str:
1283
+ '''The URL for the ad decision server (ADS).'''
1284
+ return typing.cast(builtins.str, jsii.get(self, "adDecisionServerUrl"))
1285
+
1286
+ @ad_decision_server_url.setter
1287
+ def ad_decision_server_url(self, value: builtins.str) -> None:
1288
+ if __debug__:
1289
+ type_hints = typing.get_type_hints(_typecheckingstub__b4b56f24629d4c9547e0b37415660678e3944b62d46a1e55902b5e6c66efe7c6)
1290
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1291
+ jsii.set(self, "adDecisionServerUrl", value)
1292
+
1293
+ @builtins.property
1294
+ @jsii.member(jsii_name="name")
1295
+ def name(self) -> builtins.str:
1296
+ '''The identifier for the playback configuration.'''
1297
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1298
+
1299
+ @name.setter
1300
+ def name(self, value: builtins.str) -> None:
1301
+ if __debug__:
1302
+ type_hints = typing.get_type_hints(_typecheckingstub__77c686fa09a4612a1bcc44cf669fb2ff9905ec398da89167e8b0280d8f86750d)
1303
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1304
+ jsii.set(self, "name", value)
1305
+
1306
+ @builtins.property
1307
+ @jsii.member(jsii_name="videoContentSourceUrl")
1308
+ def video_content_source_url(self) -> builtins.str:
1309
+ '''The URL prefix for the parent manifest for the stream, minus the asset ID.'''
1310
+ return typing.cast(builtins.str, jsii.get(self, "videoContentSourceUrl"))
1311
+
1312
+ @video_content_source_url.setter
1313
+ def video_content_source_url(self, value: builtins.str) -> None:
1314
+ if __debug__:
1315
+ type_hints = typing.get_type_hints(_typecheckingstub__75b50d6fe13101dc70996fb19d5c8a163f6176ddcd37a0ebe0b08f5f768c4caf)
1316
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1317
+ jsii.set(self, "videoContentSourceUrl", value)
1318
+
1319
+ @builtins.property
1320
+ @jsii.member(jsii_name="availSuppression")
1321
+ def avail_suppression(
1322
+ self,
1323
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AvailSuppressionProperty"]]:
1324
+ '''The configuration for avail suppression, also known as ad suppression.'''
1325
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AvailSuppressionProperty"]], jsii.get(self, "availSuppression"))
1326
+
1327
+ @avail_suppression.setter
1328
+ def avail_suppression(
1329
+ self,
1330
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AvailSuppressionProperty"]],
1331
+ ) -> None:
1332
+ if __debug__:
1333
+ type_hints = typing.get_type_hints(_typecheckingstub__ace1eb1809c3c05a0b25523b0f61020aa7d5a69057cdffb522c74d7881b0c1c8)
1334
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1335
+ jsii.set(self, "availSuppression", value)
1336
+
1337
+ @builtins.property
1338
+ @jsii.member(jsii_name="bumper")
1339
+ def bumper(
1340
+ self,
1341
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.BumperProperty"]]:
1342
+ '''The configuration for bumpers.'''
1343
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.BumperProperty"]], jsii.get(self, "bumper"))
1344
+
1345
+ @bumper.setter
1346
+ def bumper(
1347
+ self,
1348
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.BumperProperty"]],
1349
+ ) -> None:
1350
+ if __debug__:
1351
+ type_hints = typing.get_type_hints(_typecheckingstub__e9796c91ff0edc4be04998ed524be6012eae7fa3574e5c120fe393fab79a2a12)
1352
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1353
+ jsii.set(self, "bumper", value)
1354
+
1355
+ @builtins.property
1356
+ @jsii.member(jsii_name="cdnConfiguration")
1357
+ def cdn_configuration(
1358
+ self,
1359
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.CdnConfigurationProperty"]]:
1360
+ '''The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.'''
1361
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.CdnConfigurationProperty"]], jsii.get(self, "cdnConfiguration"))
1362
+
1363
+ @cdn_configuration.setter
1364
+ def cdn_configuration(
1365
+ self,
1366
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.CdnConfigurationProperty"]],
1367
+ ) -> None:
1368
+ if __debug__:
1369
+ type_hints = typing.get_type_hints(_typecheckingstub__a8cdb9ae7c7cff86d16687474d65af7b5ddb86256dce88926d439a4c82e07acf)
1370
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1371
+ jsii.set(self, "cdnConfiguration", value)
1372
+
1373
+ @builtins.property
1374
+ @jsii.member(jsii_name="configurationAliases")
1375
+ def configuration_aliases(
1376
+ self,
1377
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]]:
1378
+ '''The player parameters and aliases used as dynamic variables during session initialization.'''
1379
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]], jsii.get(self, "configurationAliases"))
1380
+
1381
+ @configuration_aliases.setter
1382
+ def configuration_aliases(
1383
+ self,
1384
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]],
1385
+ ) -> None:
1386
+ if __debug__:
1387
+ type_hints = typing.get_type_hints(_typecheckingstub__5e98fdfcc661f8c91728f46bbafe4c5c1160d075338a4b6e66789b7147006439)
1388
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1389
+ jsii.set(self, "configurationAliases", value)
1390
+
1391
+ @builtins.property
1392
+ @jsii.member(jsii_name="dashConfiguration")
1393
+ def dash_configuration(
1394
+ self,
1395
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.DashConfigurationProperty"]]:
1396
+ '''The configuration for DASH PUT operations.'''
1397
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.DashConfigurationProperty"]], jsii.get(self, "dashConfiguration"))
1398
+
1399
+ @dash_configuration.setter
1400
+ def dash_configuration(
1401
+ self,
1402
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.DashConfigurationProperty"]],
1403
+ ) -> None:
1404
+ if __debug__:
1405
+ type_hints = typing.get_type_hints(_typecheckingstub__e1528a1dd277ec2643ed08e71e4d817660b15a7515d36800d1a4c45be4bdd944)
1406
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1407
+ jsii.set(self, "dashConfiguration", value)
1408
+
1409
+ @builtins.property
1410
+ @jsii.member(jsii_name="hlsConfiguration")
1411
+ def hls_configuration(
1412
+ self,
1413
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.HlsConfigurationProperty"]]:
1414
+ '''The configuration for HLS content.'''
1415
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.HlsConfigurationProperty"]], jsii.get(self, "hlsConfiguration"))
1416
+
1417
+ @hls_configuration.setter
1418
+ def hls_configuration(
1419
+ self,
1420
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.HlsConfigurationProperty"]],
1421
+ ) -> None:
1422
+ if __debug__:
1423
+ type_hints = typing.get_type_hints(_typecheckingstub__8c53800db93b8d74956b4a23e4372e79b770aeb9e98d1001196859bcb54e01d0)
1424
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1425
+ jsii.set(self, "hlsConfiguration", value)
1426
+
1427
+ @builtins.property
1428
+ @jsii.member(jsii_name="livePreRollConfiguration")
1429
+ def live_pre_roll_configuration(
1430
+ self,
1431
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.LivePreRollConfigurationProperty"]]:
1432
+ '''The configuration for pre-roll ad insertion.'''
1433
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.LivePreRollConfigurationProperty"]], jsii.get(self, "livePreRollConfiguration"))
1434
+
1435
+ @live_pre_roll_configuration.setter
1436
+ def live_pre_roll_configuration(
1437
+ self,
1438
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.LivePreRollConfigurationProperty"]],
1439
+ ) -> None:
1440
+ if __debug__:
1441
+ type_hints = typing.get_type_hints(_typecheckingstub__d20db08db40dad827f8fdbbfd9ec60bdd03cf18a0cf5f764aedb5ed9040d782f)
1442
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1443
+ jsii.set(self, "livePreRollConfiguration", value)
1444
+
1445
+ @builtins.property
1446
+ @jsii.member(jsii_name="manifestProcessingRules")
1447
+ def manifest_processing_rules(
1448
+ self,
1449
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.ManifestProcessingRulesProperty"]]:
1450
+ '''The configuration for manifest processing rules.'''
1451
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.ManifestProcessingRulesProperty"]], jsii.get(self, "manifestProcessingRules"))
1452
+
1453
+ @manifest_processing_rules.setter
1454
+ def manifest_processing_rules(
1455
+ self,
1456
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.ManifestProcessingRulesProperty"]],
1457
+ ) -> None:
1458
+ if __debug__:
1459
+ type_hints = typing.get_type_hints(_typecheckingstub__7ef2be3172d1df94da8603df93c79aa68aa713132917a7f79ee5d67eca13bdc5)
1460
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1461
+ jsii.set(self, "manifestProcessingRules", value)
1462
+
1463
+ @builtins.property
1464
+ @jsii.member(jsii_name="personalizationThresholdSeconds")
1465
+ def personalization_threshold_seconds(self) -> typing.Optional[jsii.Number]:
1466
+ '''Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break.'''
1467
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "personalizationThresholdSeconds"))
1468
+
1469
+ @personalization_threshold_seconds.setter
1470
+ def personalization_threshold_seconds(
1471
+ self,
1472
+ value: typing.Optional[jsii.Number],
1473
+ ) -> None:
1474
+ if __debug__:
1475
+ type_hints = typing.get_type_hints(_typecheckingstub__cf4368b8d6051e265005679584bc63cae740383861026b06e26c9de1f0954cee)
1476
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1477
+ jsii.set(self, "personalizationThresholdSeconds", value)
1478
+
1479
+ @builtins.property
1480
+ @jsii.member(jsii_name="slateAdUrl")
1481
+ def slate_ad_url(self) -> typing.Optional[builtins.str]:
1482
+ '''The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads.'''
1483
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "slateAdUrl"))
1484
+
1485
+ @slate_ad_url.setter
1486
+ def slate_ad_url(self, value: typing.Optional[builtins.str]) -> None:
1487
+ if __debug__:
1488
+ type_hints = typing.get_type_hints(_typecheckingstub__905f1e5f55e6f998cb17136c0f4a82bcebc656a336f14fbf28f45aab3b7ab881)
1489
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1490
+ jsii.set(self, "slateAdUrl", value)
1491
+
1492
+ @builtins.property
1493
+ @jsii.member(jsii_name="tagsRaw")
1494
+ def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1495
+ '''The tags to assign to the playback configuration.'''
1496
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
1497
+
1498
+ @tags_raw.setter
1499
+ def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1500
+ if __debug__:
1501
+ type_hints = typing.get_type_hints(_typecheckingstub__d76f0247a7421af76c87f40a095ad78f3c6ad9b0a567e02e8daca4c67eee9302)
1502
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1503
+ jsii.set(self, "tagsRaw", value)
1504
+
1505
+ @builtins.property
1506
+ @jsii.member(jsii_name="transcodeProfileName")
1507
+ def transcode_profile_name(self) -> typing.Optional[builtins.str]:
1508
+ '''The name that is used to associate this playback configuration with a custom transcode profile.'''
1509
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "transcodeProfileName"))
1510
+
1511
+ @transcode_profile_name.setter
1512
+ def transcode_profile_name(self, value: typing.Optional[builtins.str]) -> None:
1513
+ if __debug__:
1514
+ type_hints = typing.get_type_hints(_typecheckingstub__ab6a880d781d782bb5f703943747735b9af031af290dd1ad2e9ebe2732d26c2d)
1515
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1516
+ jsii.set(self, "transcodeProfileName", value)
1517
+
1518
+ @jsii.data_type(
1519
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty",
1520
+ jsii_struct_bases=[],
1521
+ name_mapping={"enabled": "enabled"},
1522
+ )
1523
+ class AdMarkerPassthroughProperty:
1524
+ def __init__(
1525
+ self,
1526
+ *,
1527
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1528
+ ) -> None:
1529
+ '''For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.
1530
+
1531
+ No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
1532
+
1533
+ :param enabled: Enables ad marker passthrough for your configuration.
1534
+
1535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html
1536
+ :exampleMetadata: fixture=_generated
1537
+
1538
+ Example::
1539
+
1540
+ # The code below shows an example of how to instantiate this type.
1541
+ # The values are placeholders you should change.
1542
+ from aws_cdk import aws_mediatailor as mediatailor
1543
+
1544
+ ad_marker_passthrough_property = mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
1545
+ enabled=False
1546
+ )
1547
+ '''
1548
+ if __debug__:
1549
+ type_hints = typing.get_type_hints(_typecheckingstub__c84cc8c470c35ea1870d24a6e58a722cc2d0952d699c858000349755866ccea6)
1550
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
1551
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1552
+ if enabled is not None:
1553
+ self._values["enabled"] = enabled
1554
+
1555
+ @builtins.property
1556
+ def enabled(
1557
+ self,
1558
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1559
+ '''Enables ad marker passthrough for your configuration.
1560
+
1561
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html#cfn-mediatailor-playbackconfiguration-admarkerpassthrough-enabled
1562
+ '''
1563
+ result = self._values.get("enabled")
1564
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1565
+
1566
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1567
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1568
+
1569
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1570
+ return not (rhs == self)
1571
+
1572
+ def __repr__(self) -> str:
1573
+ return "AdMarkerPassthroughProperty(%s)" % ", ".join(
1574
+ k + "=" + repr(v) for k, v in self._values.items()
1575
+ )
1576
+
1577
+ @jsii.data_type(
1578
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty",
1579
+ jsii_struct_bases=[],
1580
+ name_mapping={"mode": "mode", "value": "value"},
1581
+ )
1582
+ class AvailSuppressionProperty:
1583
+ def __init__(
1584
+ self,
1585
+ *,
1586
+ mode: typing.Optional[builtins.str] = None,
1587
+ value: typing.Optional[builtins.str] = None,
1588
+ ) -> None:
1589
+ '''The configuration for avail suppression, also known as ad suppression.
1590
+
1591
+ For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
1592
+
1593
+ :param mode: Sets the ad suppression mode. By default, ad suppression is set to OFF and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.
1594
+ :param value: A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
1595
+
1596
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html
1597
+ :exampleMetadata: fixture=_generated
1598
+
1599
+ Example::
1600
+
1601
+ # The code below shows an example of how to instantiate this type.
1602
+ # The values are placeholders you should change.
1603
+ from aws_cdk import aws_mediatailor as mediatailor
1604
+
1605
+ avail_suppression_property = mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty(
1606
+ mode="mode",
1607
+ value="value"
1608
+ )
1609
+ '''
1610
+ if __debug__:
1611
+ type_hints = typing.get_type_hints(_typecheckingstub__8b4195a89a44a68af7fade1bdaaea19a0b3104ca5fc40a34ac2c5440a8d5f1d0)
1612
+ check_type(argname="argument mode", value=mode, expected_type=type_hints["mode"])
1613
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1614
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1615
+ if mode is not None:
1616
+ self._values["mode"] = mode
1617
+ if value is not None:
1618
+ self._values["value"] = value
1619
+
1620
+ @builtins.property
1621
+ def mode(self) -> typing.Optional[builtins.str]:
1622
+ '''Sets the ad suppression mode.
1623
+
1624
+ By default, ad suppression is set to OFF and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.
1625
+
1626
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-mode
1627
+ '''
1628
+ result = self._values.get("mode")
1629
+ return typing.cast(typing.Optional[builtins.str], result)
1630
+
1631
+ @builtins.property
1632
+ def value(self) -> typing.Optional[builtins.str]:
1633
+ '''A live edge offset time in HH:MM:SS.
1634
+
1635
+ MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
1636
+
1637
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-value
1638
+ '''
1639
+ result = self._values.get("value")
1640
+ return typing.cast(typing.Optional[builtins.str], result)
1641
+
1642
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1643
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1644
+
1645
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1646
+ return not (rhs == self)
1647
+
1648
+ def __repr__(self) -> str:
1649
+ return "AvailSuppressionProperty(%s)" % ", ".join(
1650
+ k + "=" + repr(v) for k, v in self._values.items()
1651
+ )
1652
+
1653
+ @jsii.data_type(
1654
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.BumperProperty",
1655
+ jsii_struct_bases=[],
1656
+ name_mapping={"end_url": "endUrl", "start_url": "startUrl"},
1657
+ )
1658
+ class BumperProperty:
1659
+ def __init__(
1660
+ self,
1661
+ *,
1662
+ end_url: typing.Optional[builtins.str] = None,
1663
+ start_url: typing.Optional[builtins.str] = None,
1664
+ ) -> None:
1665
+ '''The configuration for bumpers.
1666
+
1667
+ Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
1668
+
1669
+ :param end_url: The URL for the end bumper asset.
1670
+ :param start_url: The URL for the start bumper asset.
1671
+
1672
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html
1673
+ :exampleMetadata: fixture=_generated
1674
+
1675
+ Example::
1676
+
1677
+ # The code below shows an example of how to instantiate this type.
1678
+ # The values are placeholders you should change.
1679
+ from aws_cdk import aws_mediatailor as mediatailor
1680
+
1681
+ bumper_property = mediatailor.CfnPlaybackConfiguration.BumperProperty(
1682
+ end_url="endUrl",
1683
+ start_url="startUrl"
1684
+ )
1685
+ '''
1686
+ if __debug__:
1687
+ type_hints = typing.get_type_hints(_typecheckingstub__d4d8e62c25a38e7667cc4c7f67e131b03585a6b02ccb1e6956572e91491c2565)
1688
+ check_type(argname="argument end_url", value=end_url, expected_type=type_hints["end_url"])
1689
+ check_type(argname="argument start_url", value=start_url, expected_type=type_hints["start_url"])
1690
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1691
+ if end_url is not None:
1692
+ self._values["end_url"] = end_url
1693
+ if start_url is not None:
1694
+ self._values["start_url"] = start_url
1695
+
1696
+ @builtins.property
1697
+ def end_url(self) -> typing.Optional[builtins.str]:
1698
+ '''The URL for the end bumper asset.
1699
+
1700
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-endurl
1701
+ '''
1702
+ result = self._values.get("end_url")
1703
+ return typing.cast(typing.Optional[builtins.str], result)
1704
+
1705
+ @builtins.property
1706
+ def start_url(self) -> typing.Optional[builtins.str]:
1707
+ '''The URL for the start bumper asset.
1708
+
1709
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-starturl
1710
+ '''
1711
+ result = self._values.get("start_url")
1712
+ return typing.cast(typing.Optional[builtins.str], result)
1713
+
1714
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1715
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1716
+
1717
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1718
+ return not (rhs == self)
1719
+
1720
+ def __repr__(self) -> str:
1721
+ return "BumperProperty(%s)" % ", ".join(
1722
+ k + "=" + repr(v) for k, v in self._values.items()
1723
+ )
1724
+
1725
+ @jsii.data_type(
1726
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty",
1727
+ jsii_struct_bases=[],
1728
+ name_mapping={
1729
+ "ad_segment_url_prefix": "adSegmentUrlPrefix",
1730
+ "content_segment_url_prefix": "contentSegmentUrlPrefix",
1731
+ },
1732
+ )
1733
+ class CdnConfigurationProperty:
1734
+ def __init__(
1735
+ self,
1736
+ *,
1737
+ ad_segment_url_prefix: typing.Optional[builtins.str] = None,
1738
+ content_segment_url_prefix: typing.Optional[builtins.str] = None,
1739
+ ) -> None:
1740
+ '''The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
1741
+
1742
+ :param ad_segment_url_prefix: A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.
1743
+ :param content_segment_url_prefix: A content delivery network (CDN) to cache content segments, so that content requests don't always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.
1744
+
1745
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html
1746
+ :exampleMetadata: fixture=_generated
1747
+
1748
+ Example::
1749
+
1750
+ # The code below shows an example of how to instantiate this type.
1751
+ # The values are placeholders you should change.
1752
+ from aws_cdk import aws_mediatailor as mediatailor
1753
+
1754
+ cdn_configuration_property = mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty(
1755
+ ad_segment_url_prefix="adSegmentUrlPrefix",
1756
+ content_segment_url_prefix="contentSegmentUrlPrefix"
1757
+ )
1758
+ '''
1759
+ if __debug__:
1760
+ type_hints = typing.get_type_hints(_typecheckingstub__11ed9c00b014872bf1ce7a32f613cee3497f59c3a8f8ed7c34d59e731f7a30a1)
1761
+ check_type(argname="argument ad_segment_url_prefix", value=ad_segment_url_prefix, expected_type=type_hints["ad_segment_url_prefix"])
1762
+ check_type(argname="argument content_segment_url_prefix", value=content_segment_url_prefix, expected_type=type_hints["content_segment_url_prefix"])
1763
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1764
+ if ad_segment_url_prefix is not None:
1765
+ self._values["ad_segment_url_prefix"] = ad_segment_url_prefix
1766
+ if content_segment_url_prefix is not None:
1767
+ self._values["content_segment_url_prefix"] = content_segment_url_prefix
1768
+
1769
+ @builtins.property
1770
+ def ad_segment_url_prefix(self) -> typing.Optional[builtins.str]:
1771
+ '''A non-default content delivery network (CDN) to serve ad segments.
1772
+
1773
+ By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin ads.mediatailor..amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.
1774
+
1775
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-adsegmenturlprefix
1776
+ '''
1777
+ result = self._values.get("ad_segment_url_prefix")
1778
+ return typing.cast(typing.Optional[builtins.str], result)
1779
+
1780
+ @builtins.property
1781
+ def content_segment_url_prefix(self) -> typing.Optional[builtins.str]:
1782
+ '''A content delivery network (CDN) to cache content segments, so that content requests don't always have to go to the origin server.
1783
+
1784
+ First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.
1785
+
1786
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-contentsegmenturlprefix
1787
+ '''
1788
+ result = self._values.get("content_segment_url_prefix")
1789
+ return typing.cast(typing.Optional[builtins.str], result)
1790
+
1791
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1792
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1793
+
1794
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1795
+ return not (rhs == self)
1796
+
1797
+ def __repr__(self) -> str:
1798
+ return "CdnConfigurationProperty(%s)" % ", ".join(
1799
+ k + "=" + repr(v) for k, v in self._values.items()
1800
+ )
1801
+
1802
+ @jsii.data_type(
1803
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty",
1804
+ jsii_struct_bases=[],
1805
+ name_mapping={
1806
+ "manifest_endpoint_prefix": "manifestEndpointPrefix",
1807
+ "mpd_location": "mpdLocation",
1808
+ "origin_manifest_type": "originManifestType",
1809
+ },
1810
+ )
1811
+ class DashConfigurationProperty:
1812
+ def __init__(
1813
+ self,
1814
+ *,
1815
+ manifest_endpoint_prefix: typing.Optional[builtins.str] = None,
1816
+ mpd_location: typing.Optional[builtins.str] = None,
1817
+ origin_manifest_type: typing.Optional[builtins.str] = None,
1818
+ ) -> None:
1819
+ '''The configuration for DASH content.
1820
+
1821
+ :param manifest_endpoint_prefix: The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.
1822
+ :param mpd_location: The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are ``DISABLED`` and ``EMT_DEFAULT`` . The ``EMT_DEFAULT`` setting enables the inclusion of the tag and is the default value.
1823
+ :param origin_manifest_type: The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to ``SINGLE_PERIOD`` . The default setting is ``MULTI_PERIOD`` . For multi-period manifests, omit this setting or set it to ``MULTI_PERIOD`` .
1824
+
1825
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html
1826
+ :exampleMetadata: fixture=_generated
1827
+
1828
+ Example::
1829
+
1830
+ # The code below shows an example of how to instantiate this type.
1831
+ # The values are placeholders you should change.
1832
+ from aws_cdk import aws_mediatailor as mediatailor
1833
+
1834
+ dash_configuration_property = mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty(
1835
+ manifest_endpoint_prefix="manifestEndpointPrefix",
1836
+ mpd_location="mpdLocation",
1837
+ origin_manifest_type="originManifestType"
1838
+ )
1839
+ '''
1840
+ if __debug__:
1841
+ type_hints = typing.get_type_hints(_typecheckingstub__ed436176dc8bad043834221f15764e2997c06a895bb8dc9c71dc24d9d4c62fe8)
1842
+ check_type(argname="argument manifest_endpoint_prefix", value=manifest_endpoint_prefix, expected_type=type_hints["manifest_endpoint_prefix"])
1843
+ check_type(argname="argument mpd_location", value=mpd_location, expected_type=type_hints["mpd_location"])
1844
+ check_type(argname="argument origin_manifest_type", value=origin_manifest_type, expected_type=type_hints["origin_manifest_type"])
1845
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1846
+ if manifest_endpoint_prefix is not None:
1847
+ self._values["manifest_endpoint_prefix"] = manifest_endpoint_prefix
1848
+ if mpd_location is not None:
1849
+ self._values["mpd_location"] = mpd_location
1850
+ if origin_manifest_type is not None:
1851
+ self._values["origin_manifest_type"] = origin_manifest_type
1852
+
1853
+ @builtins.property
1854
+ def manifest_endpoint_prefix(self) -> typing.Optional[builtins.str]:
1855
+ '''The URL generated by MediaTailor to initiate a playback session.
1856
+
1857
+ The session uses server-side reporting. This setting is ignored in PUT operations.
1858
+
1859
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-manifestendpointprefix
1860
+ '''
1861
+ result = self._values.get("manifest_endpoint_prefix")
1862
+ return typing.cast(typing.Optional[builtins.str], result)
1863
+
1864
+ @builtins.property
1865
+ def mpd_location(self) -> typing.Optional[builtins.str]:
1866
+ '''The setting that controls whether MediaTailor includes the Location tag in DASH manifests.
1867
+
1868
+ MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are ``DISABLED`` and ``EMT_DEFAULT`` . The ``EMT_DEFAULT`` setting enables the inclusion of the tag and is the default value.
1869
+
1870
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-mpdlocation
1871
+ '''
1872
+ result = self._values.get("mpd_location")
1873
+ return typing.cast(typing.Optional[builtins.str], result)
1874
+
1875
+ @builtins.property
1876
+ def origin_manifest_type(self) -> typing.Optional[builtins.str]:
1877
+ '''The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests.
1878
+
1879
+ If your origin server produces single-period manifests, set this to ``SINGLE_PERIOD`` . The default setting is ``MULTI_PERIOD`` . For multi-period manifests, omit this setting or set it to ``MULTI_PERIOD`` .
1880
+
1881
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-originmanifesttype
1882
+ '''
1883
+ result = self._values.get("origin_manifest_type")
1884
+ return typing.cast(typing.Optional[builtins.str], result)
1885
+
1886
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1887
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1888
+
1889
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1890
+ return not (rhs == self)
1891
+
1892
+ def __repr__(self) -> str:
1893
+ return "DashConfigurationProperty(%s)" % ", ".join(
1894
+ k + "=" + repr(v) for k, v in self._values.items()
1895
+ )
1896
+
1897
+ @jsii.data_type(
1898
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty",
1899
+ jsii_struct_bases=[],
1900
+ name_mapping={"manifest_endpoint_prefix": "manifestEndpointPrefix"},
1901
+ )
1902
+ class HlsConfigurationProperty:
1903
+ def __init__(
1904
+ self,
1905
+ *,
1906
+ manifest_endpoint_prefix: typing.Optional[builtins.str] = None,
1907
+ ) -> None:
1908
+ '''The configuration for HLS content.
1909
+
1910
+ :param manifest_endpoint_prefix: The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.
1911
+
1912
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-hlsconfiguration.html
1913
+ :exampleMetadata: fixture=_generated
1914
+
1915
+ Example::
1916
+
1917
+ # The code below shows an example of how to instantiate this type.
1918
+ # The values are placeholders you should change.
1919
+ from aws_cdk import aws_mediatailor as mediatailor
1920
+
1921
+ hls_configuration_property = mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty(
1922
+ manifest_endpoint_prefix="manifestEndpointPrefix"
1923
+ )
1924
+ '''
1925
+ if __debug__:
1926
+ type_hints = typing.get_type_hints(_typecheckingstub__cc73c21d5b8ef9a10443ded7266b5dc44c0980daadbc5f8f5a49b9793967e1ed)
1927
+ check_type(argname="argument manifest_endpoint_prefix", value=manifest_endpoint_prefix, expected_type=type_hints["manifest_endpoint_prefix"])
1928
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1929
+ if manifest_endpoint_prefix is not None:
1930
+ self._values["manifest_endpoint_prefix"] = manifest_endpoint_prefix
1931
+
1932
+ @builtins.property
1933
+ def manifest_endpoint_prefix(self) -> typing.Optional[builtins.str]:
1934
+ '''The URL that is used to initiate a playback session for devices that support Apple HLS.
1935
+
1936
+ The session uses server-side reporting.
1937
+
1938
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-hlsconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration-manifestendpointprefix
1939
+ '''
1940
+ result = self._values.get("manifest_endpoint_prefix")
1941
+ return typing.cast(typing.Optional[builtins.str], result)
1942
+
1943
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1944
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1945
+
1946
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1947
+ return not (rhs == self)
1948
+
1949
+ def __repr__(self) -> str:
1950
+ return "HlsConfigurationProperty(%s)" % ", ".join(
1951
+ k + "=" + repr(v) for k, v in self._values.items()
1952
+ )
1953
+
1954
+ @jsii.data_type(
1955
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty",
1956
+ jsii_struct_bases=[],
1957
+ name_mapping={
1958
+ "ad_decision_server_url": "adDecisionServerUrl",
1959
+ "max_duration_seconds": "maxDurationSeconds",
1960
+ },
1961
+ )
1962
+ class LivePreRollConfigurationProperty:
1963
+ def __init__(
1964
+ self,
1965
+ *,
1966
+ ad_decision_server_url: typing.Optional[builtins.str] = None,
1967
+ max_duration_seconds: typing.Optional[jsii.Number] = None,
1968
+ ) -> None:
1969
+ '''The configuration for pre-roll ad insertion.
1970
+
1971
+ :param ad_decision_server_url: The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.
1972
+ :param max_duration_seconds: The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.
1973
+
1974
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html
1975
+ :exampleMetadata: fixture=_generated
1976
+
1977
+ Example::
1978
+
1979
+ # The code below shows an example of how to instantiate this type.
1980
+ # The values are placeholders you should change.
1981
+ from aws_cdk import aws_mediatailor as mediatailor
1982
+
1983
+ live_pre_roll_configuration_property = mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty(
1984
+ ad_decision_server_url="adDecisionServerUrl",
1985
+ max_duration_seconds=123
1986
+ )
1987
+ '''
1988
+ if __debug__:
1989
+ type_hints = typing.get_type_hints(_typecheckingstub__be1326ff9046a5c3b87adfaac42a0610149574f9d367d1c04949ccf8a48d1a93)
1990
+ check_type(argname="argument ad_decision_server_url", value=ad_decision_server_url, expected_type=type_hints["ad_decision_server_url"])
1991
+ check_type(argname="argument max_duration_seconds", value=max_duration_seconds, expected_type=type_hints["max_duration_seconds"])
1992
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1993
+ if ad_decision_server_url is not None:
1994
+ self._values["ad_decision_server_url"] = ad_decision_server_url
1995
+ if max_duration_seconds is not None:
1996
+ self._values["max_duration_seconds"] = max_duration_seconds
1997
+
1998
+ @builtins.property
1999
+ def ad_decision_server_url(self) -> typing.Optional[builtins.str]:
2000
+ '''The URL for the ad decision server (ADS) for pre-roll ads.
2001
+
2002
+ This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.
2003
+
2004
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-addecisionserverurl
2005
+ '''
2006
+ result = self._values.get("ad_decision_server_url")
2007
+ return typing.cast(typing.Optional[builtins.str], result)
2008
+
2009
+ @builtins.property
2010
+ def max_duration_seconds(self) -> typing.Optional[jsii.Number]:
2011
+ '''The maximum allowed duration for the pre-roll ad avail.
2012
+
2013
+ AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.
2014
+
2015
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-maxdurationseconds
2016
+ '''
2017
+ result = self._values.get("max_duration_seconds")
2018
+ return typing.cast(typing.Optional[jsii.Number], result)
2019
+
2020
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2021
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2022
+
2023
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2024
+ return not (rhs == self)
2025
+
2026
+ def __repr__(self) -> str:
2027
+ return "LivePreRollConfigurationProperty(%s)" % ", ".join(
2028
+ k + "=" + repr(v) for k, v in self._values.items()
2029
+ )
2030
+
2031
+ @jsii.data_type(
2032
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty",
2033
+ jsii_struct_bases=[],
2034
+ name_mapping={"ad_marker_passthrough": "adMarkerPassthrough"},
2035
+ )
2036
+ class ManifestProcessingRulesProperty:
2037
+ def __init__(
2038
+ self,
2039
+ *,
2040
+ ad_marker_passthrough: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.AdMarkerPassthroughProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2041
+ ) -> None:
2042
+ '''The configuration for manifest processing rules.
2043
+
2044
+ Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
2045
+
2046
+ :param ad_marker_passthrough: For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest. No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
2047
+
2048
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html
2049
+ :exampleMetadata: fixture=_generated
2050
+
2051
+ Example::
2052
+
2053
+ # The code below shows an example of how to instantiate this type.
2054
+ # The values are placeholders you should change.
2055
+ from aws_cdk import aws_mediatailor as mediatailor
2056
+
2057
+ manifest_processing_rules_property = mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty(
2058
+ ad_marker_passthrough=mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
2059
+ enabled=False
2060
+ )
2061
+ )
2062
+ '''
2063
+ if __debug__:
2064
+ type_hints = typing.get_type_hints(_typecheckingstub__ef5bb7a5b9697fa8ca9b867a5d8f7f8c6041a353ed9fad8ec9b06f14fd300d73)
2065
+ check_type(argname="argument ad_marker_passthrough", value=ad_marker_passthrough, expected_type=type_hints["ad_marker_passthrough"])
2066
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2067
+ if ad_marker_passthrough is not None:
2068
+ self._values["ad_marker_passthrough"] = ad_marker_passthrough
2069
+
2070
+ @builtins.property
2071
+ def ad_marker_passthrough(
2072
+ self,
2073
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AdMarkerPassthroughProperty"]]:
2074
+ '''For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.
2075
+
2076
+ No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
2077
+
2078
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules-admarkerpassthrough
2079
+ '''
2080
+ result = self._values.get("ad_marker_passthrough")
2081
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AdMarkerPassthroughProperty"]], result)
2082
+
2083
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2084
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2085
+
2086
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2087
+ return not (rhs == self)
2088
+
2089
+ def __repr__(self) -> str:
2090
+ return "ManifestProcessingRulesProperty(%s)" % ", ".join(
2091
+ k + "=" + repr(v) for k, v in self._values.items()
2092
+ )
2093
+
2094
+
2095
+ @jsii.data_type(
2096
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfigurationProps",
2097
+ jsii_struct_bases=[],
2098
+ name_mapping={
2099
+ "ad_decision_server_url": "adDecisionServerUrl",
2100
+ "name": "name",
2101
+ "video_content_source_url": "videoContentSourceUrl",
2102
+ "avail_suppression": "availSuppression",
2103
+ "bumper": "bumper",
2104
+ "cdn_configuration": "cdnConfiguration",
2105
+ "configuration_aliases": "configurationAliases",
2106
+ "dash_configuration": "dashConfiguration",
2107
+ "hls_configuration": "hlsConfiguration",
2108
+ "live_pre_roll_configuration": "livePreRollConfiguration",
2109
+ "manifest_processing_rules": "manifestProcessingRules",
2110
+ "personalization_threshold_seconds": "personalizationThresholdSeconds",
2111
+ "slate_ad_url": "slateAdUrl",
2112
+ "tags": "tags",
2113
+ "transcode_profile_name": "transcodeProfileName",
2114
+ },
2115
+ )
2116
+ class CfnPlaybackConfigurationProps:
2117
+ def __init__(
2118
+ self,
2119
+ *,
2120
+ ad_decision_server_url: builtins.str,
2121
+ name: builtins.str,
2122
+ video_content_source_url: builtins.str,
2123
+ avail_suppression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.AvailSuppressionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2124
+ bumper: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.BumperProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2125
+ cdn_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.CdnConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2126
+ configuration_aliases: typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]] = None,
2127
+ dash_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.DashConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2128
+ hls_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.HlsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2129
+ live_pre_roll_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.LivePreRollConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2130
+ manifest_processing_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.ManifestProcessingRulesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2131
+ personalization_threshold_seconds: typing.Optional[jsii.Number] = None,
2132
+ slate_ad_url: typing.Optional[builtins.str] = None,
2133
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2134
+ transcode_profile_name: typing.Optional[builtins.str] = None,
2135
+ ) -> None:
2136
+ '''Properties for defining a ``CfnPlaybackConfiguration``.
2137
+
2138
+ :param ad_decision_server_url: The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
2139
+ :param name: The identifier for the playback configuration.
2140
+ :param video_content_source_url: The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.
2141
+ :param avail_suppression: The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
2142
+ :param bumper: The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
2143
+ :param cdn_configuration: The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
2144
+ :param configuration_aliases: The player parameters and aliases used as dynamic variables during session initialization. For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html>`_ .
2145
+ :param dash_configuration: The configuration for DASH PUT operations.
2146
+ :param hls_configuration: The configuration for HLS content.
2147
+ :param live_pre_roll_configuration: The configuration for pre-roll ad insertion.
2148
+ :param manifest_processing_rules: The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
2149
+ :param personalization_threshold_seconds: Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break. If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
2150
+ :param slate_ad_url: The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
2151
+ :param tags: The tags to assign to the playback configuration.
2152
+ :param transcode_profile_name: The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
2153
+
2154
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html
2155
+ :exampleMetadata: fixture=_generated
2156
+
2157
+ Example::
2158
+
2159
+ # The code below shows an example of how to instantiate this type.
2160
+ # The values are placeholders you should change.
2161
+ from aws_cdk import aws_mediatailor as mediatailor
2162
+
2163
+ # configuration_aliases: Any
2164
+
2165
+ cfn_playback_configuration_props = mediatailor.CfnPlaybackConfigurationProps(
2166
+ ad_decision_server_url="adDecisionServerUrl",
2167
+ name="name",
2168
+ video_content_source_url="videoContentSourceUrl",
2169
+
2170
+ # the properties below are optional
2171
+ avail_suppression=mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty(
2172
+ mode="mode",
2173
+ value="value"
2174
+ ),
2175
+ bumper=mediatailor.CfnPlaybackConfiguration.BumperProperty(
2176
+ end_url="endUrl",
2177
+ start_url="startUrl"
2178
+ ),
2179
+ cdn_configuration=mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty(
2180
+ ad_segment_url_prefix="adSegmentUrlPrefix",
2181
+ content_segment_url_prefix="contentSegmentUrlPrefix"
2182
+ ),
2183
+ configuration_aliases={
2184
+ "configuration_aliases_key": configuration_aliases
2185
+ },
2186
+ dash_configuration=mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty(
2187
+ manifest_endpoint_prefix="manifestEndpointPrefix",
2188
+ mpd_location="mpdLocation",
2189
+ origin_manifest_type="originManifestType"
2190
+ ),
2191
+ hls_configuration=mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty(
2192
+ manifest_endpoint_prefix="manifestEndpointPrefix"
2193
+ ),
2194
+ live_pre_roll_configuration=mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty(
2195
+ ad_decision_server_url="adDecisionServerUrl",
2196
+ max_duration_seconds=123
2197
+ ),
2198
+ manifest_processing_rules=mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty(
2199
+ ad_marker_passthrough=mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
2200
+ enabled=False
2201
+ )
2202
+ ),
2203
+ personalization_threshold_seconds=123,
2204
+ slate_ad_url="slateAdUrl",
2205
+ tags=[CfnTag(
2206
+ key="key",
2207
+ value="value"
2208
+ )],
2209
+ transcode_profile_name="transcodeProfileName"
2210
+ )
2211
+ '''
2212
+ if __debug__:
2213
+ type_hints = typing.get_type_hints(_typecheckingstub__935886ab495203cc213786b925e7fd8fe4acd3f9db5864d4f1f5c011539346f8)
2214
+ check_type(argname="argument ad_decision_server_url", value=ad_decision_server_url, expected_type=type_hints["ad_decision_server_url"])
2215
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2216
+ check_type(argname="argument video_content_source_url", value=video_content_source_url, expected_type=type_hints["video_content_source_url"])
2217
+ check_type(argname="argument avail_suppression", value=avail_suppression, expected_type=type_hints["avail_suppression"])
2218
+ check_type(argname="argument bumper", value=bumper, expected_type=type_hints["bumper"])
2219
+ check_type(argname="argument cdn_configuration", value=cdn_configuration, expected_type=type_hints["cdn_configuration"])
2220
+ check_type(argname="argument configuration_aliases", value=configuration_aliases, expected_type=type_hints["configuration_aliases"])
2221
+ check_type(argname="argument dash_configuration", value=dash_configuration, expected_type=type_hints["dash_configuration"])
2222
+ check_type(argname="argument hls_configuration", value=hls_configuration, expected_type=type_hints["hls_configuration"])
2223
+ check_type(argname="argument live_pre_roll_configuration", value=live_pre_roll_configuration, expected_type=type_hints["live_pre_roll_configuration"])
2224
+ check_type(argname="argument manifest_processing_rules", value=manifest_processing_rules, expected_type=type_hints["manifest_processing_rules"])
2225
+ check_type(argname="argument personalization_threshold_seconds", value=personalization_threshold_seconds, expected_type=type_hints["personalization_threshold_seconds"])
2226
+ check_type(argname="argument slate_ad_url", value=slate_ad_url, expected_type=type_hints["slate_ad_url"])
2227
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2228
+ check_type(argname="argument transcode_profile_name", value=transcode_profile_name, expected_type=type_hints["transcode_profile_name"])
2229
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2230
+ "ad_decision_server_url": ad_decision_server_url,
2231
+ "name": name,
2232
+ "video_content_source_url": video_content_source_url,
2233
+ }
2234
+ if avail_suppression is not None:
2235
+ self._values["avail_suppression"] = avail_suppression
2236
+ if bumper is not None:
2237
+ self._values["bumper"] = bumper
2238
+ if cdn_configuration is not None:
2239
+ self._values["cdn_configuration"] = cdn_configuration
2240
+ if configuration_aliases is not None:
2241
+ self._values["configuration_aliases"] = configuration_aliases
2242
+ if dash_configuration is not None:
2243
+ self._values["dash_configuration"] = dash_configuration
2244
+ if hls_configuration is not None:
2245
+ self._values["hls_configuration"] = hls_configuration
2246
+ if live_pre_roll_configuration is not None:
2247
+ self._values["live_pre_roll_configuration"] = live_pre_roll_configuration
2248
+ if manifest_processing_rules is not None:
2249
+ self._values["manifest_processing_rules"] = manifest_processing_rules
2250
+ if personalization_threshold_seconds is not None:
2251
+ self._values["personalization_threshold_seconds"] = personalization_threshold_seconds
2252
+ if slate_ad_url is not None:
2253
+ self._values["slate_ad_url"] = slate_ad_url
2254
+ if tags is not None:
2255
+ self._values["tags"] = tags
2256
+ if transcode_profile_name is not None:
2257
+ self._values["transcode_profile_name"] = transcode_profile_name
2258
+
2259
+ @builtins.property
2260
+ def ad_decision_server_url(self) -> builtins.str:
2261
+ '''The URL for the ad decision server (ADS).
2262
+
2263
+ This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
2264
+
2265
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-addecisionserverurl
2266
+ '''
2267
+ result = self._values.get("ad_decision_server_url")
2268
+ assert result is not None, "Required property 'ad_decision_server_url' is missing"
2269
+ return typing.cast(builtins.str, result)
2270
+
2271
+ @builtins.property
2272
+ def name(self) -> builtins.str:
2273
+ '''The identifier for the playback configuration.
2274
+
2275
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-name
2276
+ '''
2277
+ result = self._values.get("name")
2278
+ assert result is not None, "Required property 'name' is missing"
2279
+ return typing.cast(builtins.str, result)
2280
+
2281
+ @builtins.property
2282
+ def video_content_source_url(self) -> builtins.str:
2283
+ '''The URL prefix for the parent manifest for the stream, minus the asset ID.
2284
+
2285
+ The maximum length is 512 characters.
2286
+
2287
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-videocontentsourceurl
2288
+ '''
2289
+ result = self._values.get("video_content_source_url")
2290
+ assert result is not None, "Required property 'video_content_source_url' is missing"
2291
+ return typing.cast(builtins.str, result)
2292
+
2293
+ @builtins.property
2294
+ def avail_suppression(
2295
+ self,
2296
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.AvailSuppressionProperty]]:
2297
+ '''The configuration for avail suppression, also known as ad suppression.
2298
+
2299
+ For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
2300
+
2301
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression
2302
+ '''
2303
+ result = self._values.get("avail_suppression")
2304
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.AvailSuppressionProperty]], result)
2305
+
2306
+ @builtins.property
2307
+ def bumper(
2308
+ self,
2309
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.BumperProperty]]:
2310
+ '''The configuration for bumpers.
2311
+
2312
+ Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
2313
+
2314
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper
2315
+ '''
2316
+ result = self._values.get("bumper")
2317
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.BumperProperty]], result)
2318
+
2319
+ @builtins.property
2320
+ def cdn_configuration(
2321
+ self,
2322
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.CdnConfigurationProperty]]:
2323
+ '''The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
2324
+
2325
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration
2326
+ '''
2327
+ result = self._values.get("cdn_configuration")
2328
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.CdnConfigurationProperty]], result)
2329
+
2330
+ @builtins.property
2331
+ def configuration_aliases(
2332
+ self,
2333
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]]:
2334
+ '''The player parameters and aliases used as dynamic variables during session initialization.
2335
+
2336
+ For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html>`_ .
2337
+
2338
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-configurationaliases
2339
+ '''
2340
+ result = self._values.get("configuration_aliases")
2341
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]], result)
2342
+
2343
+ @builtins.property
2344
+ def dash_configuration(
2345
+ self,
2346
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.DashConfigurationProperty]]:
2347
+ '''The configuration for DASH PUT operations.
2348
+
2349
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration
2350
+ '''
2351
+ result = self._values.get("dash_configuration")
2352
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.DashConfigurationProperty]], result)
2353
+
2354
+ @builtins.property
2355
+ def hls_configuration(
2356
+ self,
2357
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.HlsConfigurationProperty]]:
2358
+ '''The configuration for HLS content.
2359
+
2360
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration
2361
+ '''
2362
+ result = self._values.get("hls_configuration")
2363
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.HlsConfigurationProperty]], result)
2364
+
2365
+ @builtins.property
2366
+ def live_pre_roll_configuration(
2367
+ self,
2368
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.LivePreRollConfigurationProperty]]:
2369
+ '''The configuration for pre-roll ad insertion.
2370
+
2371
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration
2372
+ '''
2373
+ result = self._values.get("live_pre_roll_configuration")
2374
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.LivePreRollConfigurationProperty]], result)
2375
+
2376
+ @builtins.property
2377
+ def manifest_processing_rules(
2378
+ self,
2379
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.ManifestProcessingRulesProperty]]:
2380
+ '''The configuration for manifest processing rules.
2381
+
2382
+ Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
2383
+
2384
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules
2385
+ '''
2386
+ result = self._values.get("manifest_processing_rules")
2387
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.ManifestProcessingRulesProperty]], result)
2388
+
2389
+ @builtins.property
2390
+ def personalization_threshold_seconds(self) -> typing.Optional[jsii.Number]:
2391
+ '''Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break.
2392
+
2393
+ If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
2394
+
2395
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-personalizationthresholdseconds
2396
+ '''
2397
+ result = self._values.get("personalization_threshold_seconds")
2398
+ return typing.cast(typing.Optional[jsii.Number], result)
2399
+
2400
+ @builtins.property
2401
+ def slate_ad_url(self) -> typing.Optional[builtins.str]:
2402
+ '''The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads.
2403
+
2404
+ AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
2405
+
2406
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-slateadurl
2407
+ '''
2408
+ result = self._values.get("slate_ad_url")
2409
+ return typing.cast(typing.Optional[builtins.str], result)
2410
+
2411
+ @builtins.property
2412
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2413
+ '''The tags to assign to the playback configuration.
2414
+
2415
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-tags
2416
+ '''
2417
+ result = self._values.get("tags")
2418
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2419
+
2420
+ @builtins.property
2421
+ def transcode_profile_name(self) -> typing.Optional[builtins.str]:
2422
+ '''The name that is used to associate this playback configuration with a custom transcode profile.
2423
+
2424
+ This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
2425
+
2426
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-transcodeprofilename
2427
+ '''
2428
+ result = self._values.get("transcode_profile_name")
2429
+ return typing.cast(typing.Optional[builtins.str], result)
2430
+
2431
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2432
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2433
+
2434
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2435
+ return not (rhs == self)
2436
+
2437
+ def __repr__(self) -> str:
2438
+ return "CfnPlaybackConfigurationProps(%s)" % ", ".join(
2439
+ k + "=" + repr(v) for k, v in self._values.items()
2440
+ )
2441
+
2442
+
2443
+ @jsii.implements(_IInspectable_c2943556)
2444
+ class CfnSourceLocation(
2445
+ _CfnResource_9df397a6,
2446
+ metaclass=jsii.JSIIMeta,
2447
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnSourceLocation",
2448
+ ):
2449
+ '''Definition of AWS::MediaTailor::SourceLocation Resource Type.
2450
+
2451
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html
2452
+ :exampleMetadata: fixture=_generated
2453
+
2454
+ Example::
2455
+
2456
+ # The code below shows an example of how to instantiate this type.
2457
+ # The values are placeholders you should change.
2458
+ from aws_cdk import aws_mediatailor as mediatailor
2459
+
2460
+ cfn_source_location = mediatailor.CfnSourceLocation(self, "MyCfnSourceLocation",
2461
+ http_configuration=mediatailor.CfnSourceLocation.HttpConfigurationProperty(
2462
+ base_url="baseUrl"
2463
+ ),
2464
+ source_location_name="sourceLocationName",
2465
+
2466
+ # the properties below are optional
2467
+ access_configuration=mediatailor.CfnSourceLocation.AccessConfigurationProperty(
2468
+ access_type="accessType",
2469
+ secrets_manager_access_token_configuration=mediatailor.CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty(
2470
+ header_name="headerName",
2471
+ secret_arn="secretArn",
2472
+ secret_string_key="secretStringKey"
2473
+ )
2474
+ ),
2475
+ default_segment_delivery_configuration=mediatailor.CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty(
2476
+ base_url="baseUrl"
2477
+ ),
2478
+ segment_delivery_configurations=[mediatailor.CfnSourceLocation.SegmentDeliveryConfigurationProperty(
2479
+ base_url="baseUrl",
2480
+ name="name"
2481
+ )],
2482
+ tags=[CfnTag(
2483
+ key="key",
2484
+ value="value"
2485
+ )]
2486
+ )
2487
+ '''
2488
+
2489
+ def __init__(
2490
+ self,
2491
+ scope: _constructs_77d1e7e8.Construct,
2492
+ id: builtins.str,
2493
+ *,
2494
+ http_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnSourceLocation.HttpConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
2495
+ source_location_name: builtins.str,
2496
+ access_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSourceLocation.AccessConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2497
+ default_segment_delivery_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2498
+ segment_delivery_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSourceLocation.SegmentDeliveryConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2499
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2500
+ ) -> None:
2501
+ '''
2502
+ :param scope: Scope in which this resource is defined.
2503
+ :param id: Construct identifier for this resource (unique in its scope).
2504
+ :param http_configuration:
2505
+ :param source_location_name:
2506
+ :param access_configuration:
2507
+ :param default_segment_delivery_configuration: Use this if you want the segment delivery server to be different from the source location server. For example, you can configure your source location server to be an origination server, such as MediaPackage, and the segment delivery server to be a content delivery network (CDN), such as CloudFront. If you don't specify a segment delivery server, then the source location server is used.
2508
+ :param segment_delivery_configurations:
2509
+ :param tags: The tags to assign to the source location.
2510
+ '''
2511
+ if __debug__:
2512
+ type_hints = typing.get_type_hints(_typecheckingstub__dd693d384196965a6e6e42aa969746fa450f3a5099e7be68c145dcc9f5f7e59d)
2513
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2514
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2515
+ props = CfnSourceLocationProps(
2516
+ http_configuration=http_configuration,
2517
+ source_location_name=source_location_name,
2518
+ access_configuration=access_configuration,
2519
+ default_segment_delivery_configuration=default_segment_delivery_configuration,
2520
+ segment_delivery_configurations=segment_delivery_configurations,
2521
+ tags=tags,
2522
+ )
790
2523
 
791
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
792
- return not (rhs == self)
2524
+ jsii.create(self.__class__, self, [scope, id, props])
793
2525
 
794
- def __repr__(self) -> str:
795
- return "CdnConfigurationProperty(%s)" % ", ".join(
796
- k + "=" + repr(v) for k, v in self._values.items()
797
- )
2526
+ @jsii.member(jsii_name="inspect")
2527
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2528
+ '''Examines the CloudFormation resource and discloses attributes.
2529
+
2530
+ :param inspector: tree inspector to collect and process attributes.
2531
+ '''
2532
+ if __debug__:
2533
+ type_hints = typing.get_type_hints(_typecheckingstub__a8a67b4bd9eabe7dff32771e3855c5f4b09c52cc321708cd63f64f1f290488c1)
2534
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2535
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2536
+
2537
+ @jsii.member(jsii_name="renderProperties")
2538
+ def _render_properties(
2539
+ self,
2540
+ props: typing.Mapping[builtins.str, typing.Any],
2541
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2542
+ '''
2543
+ :param props: -
2544
+ '''
2545
+ if __debug__:
2546
+ type_hints = typing.get_type_hints(_typecheckingstub__d9c819cfa165355742944ead86f157d5e4fe520ec150ce7cb7367ac66b39c700)
2547
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2548
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2549
+
2550
+ @jsii.python.classproperty
2551
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2552
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2553
+ '''The CloudFormation resource type name for this resource class.'''
2554
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2555
+
2556
+ @builtins.property
2557
+ @jsii.member(jsii_name="attrArn")
2558
+ def attr_arn(self) -> builtins.str:
2559
+ '''
2560
+ :cloudformationAttribute: Arn
2561
+ '''
2562
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
2563
+
2564
+ @builtins.property
2565
+ @jsii.member(jsii_name="cfnProperties")
2566
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2567
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2568
+
2569
+ @builtins.property
2570
+ @jsii.member(jsii_name="httpConfiguration")
2571
+ def http_configuration(
2572
+ self,
2573
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.HttpConfigurationProperty"]:
2574
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.HttpConfigurationProperty"], jsii.get(self, "httpConfiguration"))
2575
+
2576
+ @http_configuration.setter
2577
+ def http_configuration(
2578
+ self,
2579
+ value: typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.HttpConfigurationProperty"],
2580
+ ) -> None:
2581
+ if __debug__:
2582
+ type_hints = typing.get_type_hints(_typecheckingstub__be0faeec30de7aa74e972fa9be4f5ef1134314ff5984d14b00fc6e2596ceb488)
2583
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2584
+ jsii.set(self, "httpConfiguration", value)
2585
+
2586
+ @builtins.property
2587
+ @jsii.member(jsii_name="sourceLocationName")
2588
+ def source_location_name(self) -> builtins.str:
2589
+ return typing.cast(builtins.str, jsii.get(self, "sourceLocationName"))
2590
+
2591
+ @source_location_name.setter
2592
+ def source_location_name(self, value: builtins.str) -> None:
2593
+ if __debug__:
2594
+ type_hints = typing.get_type_hints(_typecheckingstub__f3bd8c206592bff1adae3d34013e03de975c95df7847310b70d730fb7b9498b6)
2595
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2596
+ jsii.set(self, "sourceLocationName", value)
2597
+
2598
+ @builtins.property
2599
+ @jsii.member(jsii_name="accessConfiguration")
2600
+ def access_configuration(
2601
+ self,
2602
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.AccessConfigurationProperty"]]:
2603
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.AccessConfigurationProperty"]], jsii.get(self, "accessConfiguration"))
2604
+
2605
+ @access_configuration.setter
2606
+ def access_configuration(
2607
+ self,
2608
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.AccessConfigurationProperty"]],
2609
+ ) -> None:
2610
+ if __debug__:
2611
+ type_hints = typing.get_type_hints(_typecheckingstub__c1bc53fb2d4148510df3244898b3da3e4ac17d9faee3835bc73da5ad63931214)
2612
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2613
+ jsii.set(self, "accessConfiguration", value)
2614
+
2615
+ @builtins.property
2616
+ @jsii.member(jsii_name="defaultSegmentDeliveryConfiguration")
2617
+ def default_segment_delivery_configuration(
2618
+ self,
2619
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty"]]:
2620
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty"]], jsii.get(self, "defaultSegmentDeliveryConfiguration"))
2621
+
2622
+ @default_segment_delivery_configuration.setter
2623
+ def default_segment_delivery_configuration(
2624
+ self,
2625
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty"]],
2626
+ ) -> None:
2627
+ if __debug__:
2628
+ type_hints = typing.get_type_hints(_typecheckingstub__7b431a09702c35ab502bf465075ac7a7d86895d1cc20d16caec630b4e0a366dc)
2629
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2630
+ jsii.set(self, "defaultSegmentDeliveryConfiguration", value)
2631
+
2632
+ @builtins.property
2633
+ @jsii.member(jsii_name="segmentDeliveryConfigurations")
2634
+ def segment_delivery_configurations(
2635
+ self,
2636
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.SegmentDeliveryConfigurationProperty"]]]]:
2637
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.SegmentDeliveryConfigurationProperty"]]]], jsii.get(self, "segmentDeliveryConfigurations"))
2638
+
2639
+ @segment_delivery_configurations.setter
2640
+ def segment_delivery_configurations(
2641
+ self,
2642
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.SegmentDeliveryConfigurationProperty"]]]],
2643
+ ) -> None:
2644
+ if __debug__:
2645
+ type_hints = typing.get_type_hints(_typecheckingstub__725f16ab7057c1a2a01a0de087479721b15670cf708ed95838c4271ad45c009a)
2646
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2647
+ jsii.set(self, "segmentDeliveryConfigurations", value)
2648
+
2649
+ @builtins.property
2650
+ @jsii.member(jsii_name="tags")
2651
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2652
+ '''The tags to assign to the source location.'''
2653
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
2654
+
2655
+ @tags.setter
2656
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
2657
+ if __debug__:
2658
+ type_hints = typing.get_type_hints(_typecheckingstub__af85fa3fdd92d33488c46dc70861bcea3919f31a13ab83bd91920e11557a0620)
2659
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2660
+ jsii.set(self, "tags", value)
798
2661
 
799
2662
  @jsii.data_type(
800
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty",
2663
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnSourceLocation.AccessConfigurationProperty",
801
2664
  jsii_struct_bases=[],
802
2665
  name_mapping={
803
- "manifest_endpoint_prefix": "manifestEndpointPrefix",
804
- "mpd_location": "mpdLocation",
805
- "origin_manifest_type": "originManifestType",
2666
+ "access_type": "accessType",
2667
+ "secrets_manager_access_token_configuration": "secretsManagerAccessTokenConfiguration",
806
2668
  },
807
2669
  )
808
- class DashConfigurationProperty:
2670
+ class AccessConfigurationProperty:
809
2671
  def __init__(
810
2672
  self,
811
2673
  *,
812
- manifest_endpoint_prefix: typing.Optional[builtins.str] = None,
813
- mpd_location: typing.Optional[builtins.str] = None,
814
- origin_manifest_type: typing.Optional[builtins.str] = None,
2674
+ access_type: typing.Optional[builtins.str] = None,
2675
+ secrets_manager_access_token_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
815
2676
  ) -> None:
816
- '''The configuration for DASH content.
817
-
818
- :param manifest_endpoint_prefix: The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.
819
- :param mpd_location: The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are ``DISABLED`` and ``EMT_DEFAULT`` . The ``EMT_DEFAULT`` setting enables the inclusion of the tag and is the default value.
820
- :param origin_manifest_type: The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to ``SINGLE_PERIOD`` . The default setting is ``MULTI_PERIOD`` . For multi-period manifests, omit this setting or set it to ``MULTI_PERIOD`` .
2677
+ '''
2678
+ :param access_type:
2679
+ :param secrets_manager_access_token_configuration: For information about Secrets Manager access token authentication, see Working with AWS Secrets Manager access token authentication.
821
2680
 
822
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html
2681
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-accessconfiguration.html
823
2682
  :exampleMetadata: fixture=_generated
824
2683
 
825
2684
  Example::
@@ -828,56 +2687,96 @@ class CfnPlaybackConfiguration(
828
2687
  # The values are placeholders you should change.
829
2688
  from aws_cdk import aws_mediatailor as mediatailor
830
2689
 
831
- dash_configuration_property = mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty(
832
- manifest_endpoint_prefix="manifestEndpointPrefix",
833
- mpd_location="mpdLocation",
834
- origin_manifest_type="originManifestType"
2690
+ access_configuration_property = mediatailor.CfnSourceLocation.AccessConfigurationProperty(
2691
+ access_type="accessType",
2692
+ secrets_manager_access_token_configuration=mediatailor.CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty(
2693
+ header_name="headerName",
2694
+ secret_arn="secretArn",
2695
+ secret_string_key="secretStringKey"
2696
+ )
835
2697
  )
836
2698
  '''
837
2699
  if __debug__:
838
- type_hints = typing.get_type_hints(_typecheckingstub__ed436176dc8bad043834221f15764e2997c06a895bb8dc9c71dc24d9d4c62fe8)
839
- check_type(argname="argument manifest_endpoint_prefix", value=manifest_endpoint_prefix, expected_type=type_hints["manifest_endpoint_prefix"])
840
- check_type(argname="argument mpd_location", value=mpd_location, expected_type=type_hints["mpd_location"])
841
- check_type(argname="argument origin_manifest_type", value=origin_manifest_type, expected_type=type_hints["origin_manifest_type"])
2700
+ type_hints = typing.get_type_hints(_typecheckingstub__df138d384fef8104d70a1dae201bed1b055b8ef01c97ffa764008d6423001711)
2701
+ check_type(argname="argument access_type", value=access_type, expected_type=type_hints["access_type"])
2702
+ check_type(argname="argument secrets_manager_access_token_configuration", value=secrets_manager_access_token_configuration, expected_type=type_hints["secrets_manager_access_token_configuration"])
842
2703
  self._values: typing.Dict[builtins.str, typing.Any] = {}
843
- if manifest_endpoint_prefix is not None:
844
- self._values["manifest_endpoint_prefix"] = manifest_endpoint_prefix
845
- if mpd_location is not None:
846
- self._values["mpd_location"] = mpd_location
847
- if origin_manifest_type is not None:
848
- self._values["origin_manifest_type"] = origin_manifest_type
2704
+ if access_type is not None:
2705
+ self._values["access_type"] = access_type
2706
+ if secrets_manager_access_token_configuration is not None:
2707
+ self._values["secrets_manager_access_token_configuration"] = secrets_manager_access_token_configuration
849
2708
 
850
2709
  @builtins.property
851
- def manifest_endpoint_prefix(self) -> typing.Optional[builtins.str]:
852
- '''The URL generated by MediaTailor to initiate a playback session.
853
-
854
- The session uses server-side reporting. This setting is ignored in PUT operations.
855
-
856
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-manifestendpointprefix
2710
+ def access_type(self) -> typing.Optional[builtins.str]:
857
2711
  '''
858
- result = self._values.get("manifest_endpoint_prefix")
2712
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-accessconfiguration.html#cfn-mediatailor-sourcelocation-accessconfiguration-accesstype
2713
+ '''
2714
+ result = self._values.get("access_type")
859
2715
  return typing.cast(typing.Optional[builtins.str], result)
860
2716
 
861
2717
  @builtins.property
862
- def mpd_location(self) -> typing.Optional[builtins.str]:
863
- '''The setting that controls whether MediaTailor includes the Location tag in DASH manifests.
2718
+ def secrets_manager_access_token_configuration(
2719
+ self,
2720
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty"]]:
2721
+ '''
2722
+ For information about Secrets Manager access token authentication, see Working with AWS Secrets Manager access token authentication.
864
2723
 
865
- MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are ``DISABLED`` and ``EMT_DEFAULT`` . The ``EMT_DEFAULT`` setting enables the inclusion of the tag and is the default value.
2724
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-accessconfiguration.html#cfn-mediatailor-sourcelocation-accessconfiguration-secretsmanageraccesstokenconfiguration
2725
+ '''
2726
+ result = self._values.get("secrets_manager_access_token_configuration")
2727
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty"]], result)
866
2728
 
867
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-mpdlocation
2729
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2730
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2731
+
2732
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2733
+ return not (rhs == self)
2734
+
2735
+ def __repr__(self) -> str:
2736
+ return "AccessConfigurationProperty(%s)" % ", ".join(
2737
+ k + "=" + repr(v) for k, v in self._values.items()
2738
+ )
2739
+
2740
+ @jsii.data_type(
2741
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty",
2742
+ jsii_struct_bases=[],
2743
+ name_mapping={"base_url": "baseUrl"},
2744
+ )
2745
+ class DefaultSegmentDeliveryConfigurationProperty:
2746
+ def __init__(self, *, base_url: typing.Optional[builtins.str] = None) -> None:
868
2747
  '''
869
- result = self._values.get("mpd_location")
870
- return typing.cast(typing.Optional[builtins.str], result)
2748
+ Use this if you want the segment delivery server to be different from the source location server. For example, you can configure your source location server to be an origination server, such as MediaPackage, and the segment delivery server to be a content delivery network (CDN), such as CloudFront. If you don't specify a segment delivery server, then the source location server is used.
871
2749
 
872
- @builtins.property
873
- def origin_manifest_type(self) -> typing.Optional[builtins.str]:
874
- '''The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests.
2750
+ :param base_url: This string must include the protocol, such as https://.
875
2751
 
876
- If your origin server produces single-period manifests, set this to ``SINGLE_PERIOD`` . The default setting is ``MULTI_PERIOD`` . For multi-period manifests, omit this setting or set it to ``MULTI_PERIOD`` .
2752
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-defaultsegmentdeliveryconfiguration.html
2753
+ :exampleMetadata: fixture=_generated
877
2754
 
878
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-originmanifesttype
2755
+ Example::
2756
+
2757
+ # The code below shows an example of how to instantiate this type.
2758
+ # The values are placeholders you should change.
2759
+ from aws_cdk import aws_mediatailor as mediatailor
2760
+
2761
+ default_segment_delivery_configuration_property = mediatailor.CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty(
2762
+ base_url="baseUrl"
2763
+ )
879
2764
  '''
880
- result = self._values.get("origin_manifest_type")
2765
+ if __debug__:
2766
+ type_hints = typing.get_type_hints(_typecheckingstub__7c8f2bdbcfd97bfab31281eb19a1cb75bcd15849095da44b410f2703593facdc)
2767
+ check_type(argname="argument base_url", value=base_url, expected_type=type_hints["base_url"])
2768
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2769
+ if base_url is not None:
2770
+ self._values["base_url"] = base_url
2771
+
2772
+ @builtins.property
2773
+ def base_url(self) -> typing.Optional[builtins.str]:
2774
+ '''
2775
+ This string must include the protocol, such as https://.
2776
+
2777
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-defaultsegmentdeliveryconfiguration.html#cfn-mediatailor-sourcelocation-defaultsegmentdeliveryconfiguration-baseurl
2778
+ '''
2779
+ result = self._values.get("base_url")
881
2780
  return typing.cast(typing.Optional[builtins.str], result)
882
2781
 
883
2782
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -887,26 +2786,21 @@ class CfnPlaybackConfiguration(
887
2786
  return not (rhs == self)
888
2787
 
889
2788
  def __repr__(self) -> str:
890
- return "DashConfigurationProperty(%s)" % ", ".join(
2789
+ return "DefaultSegmentDeliveryConfigurationProperty(%s)" % ", ".join(
891
2790
  k + "=" + repr(v) for k, v in self._values.items()
892
2791
  )
893
2792
 
894
2793
  @jsii.data_type(
895
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty",
2794
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnSourceLocation.HttpConfigurationProperty",
896
2795
  jsii_struct_bases=[],
897
- name_mapping={"manifest_endpoint_prefix": "manifestEndpointPrefix"},
2796
+ name_mapping={"base_url": "baseUrl"},
898
2797
  )
899
- class HlsConfigurationProperty:
900
- def __init__(
901
- self,
902
- *,
903
- manifest_endpoint_prefix: typing.Optional[builtins.str] = None,
904
- ) -> None:
905
- '''The configuration for HLS content.
906
-
907
- :param manifest_endpoint_prefix: The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.
2798
+ class HttpConfigurationProperty:
2799
+ def __init__(self, *, base_url: builtins.str) -> None:
2800
+ '''
2801
+ :param base_url: This string must include the protocol, such as https://.
908
2802
 
909
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-hlsconfiguration.html
2803
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-httpconfiguration.html
910
2804
  :exampleMetadata: fixture=_generated
911
2805
 
912
2806
  Example::
@@ -915,27 +2809,27 @@ class CfnPlaybackConfiguration(
915
2809
  # The values are placeholders you should change.
916
2810
  from aws_cdk import aws_mediatailor as mediatailor
917
2811
 
918
- hls_configuration_property = mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty(
919
- manifest_endpoint_prefix="manifestEndpointPrefix"
2812
+ http_configuration_property = mediatailor.CfnSourceLocation.HttpConfigurationProperty(
2813
+ base_url="baseUrl"
920
2814
  )
921
2815
  '''
922
2816
  if __debug__:
923
- type_hints = typing.get_type_hints(_typecheckingstub__cc73c21d5b8ef9a10443ded7266b5dc44c0980daadbc5f8f5a49b9793967e1ed)
924
- check_type(argname="argument manifest_endpoint_prefix", value=manifest_endpoint_prefix, expected_type=type_hints["manifest_endpoint_prefix"])
925
- self._values: typing.Dict[builtins.str, typing.Any] = {}
926
- if manifest_endpoint_prefix is not None:
927
- self._values["manifest_endpoint_prefix"] = manifest_endpoint_prefix
2817
+ type_hints = typing.get_type_hints(_typecheckingstub__a880194f274158b8a0b3d6dab7716d3a29cb93edfb1f5ef3e8b507eb8379c18a)
2818
+ check_type(argname="argument base_url", value=base_url, expected_type=type_hints["base_url"])
2819
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2820
+ "base_url": base_url,
2821
+ }
928
2822
 
929
2823
  @builtins.property
930
- def manifest_endpoint_prefix(self) -> typing.Optional[builtins.str]:
931
- '''The URL that is used to initiate a playback session for devices that support Apple HLS.
932
-
933
- The session uses server-side reporting.
2824
+ def base_url(self) -> builtins.str:
2825
+ '''
2826
+ This string must include the protocol, such as https://.
934
2827
 
935
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-hlsconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration-manifestendpointprefix
2828
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-httpconfiguration.html#cfn-mediatailor-sourcelocation-httpconfiguration-baseurl
936
2829
  '''
937
- result = self._values.get("manifest_endpoint_prefix")
938
- return typing.cast(typing.Optional[builtins.str], result)
2830
+ result = self._values.get("base_url")
2831
+ assert result is not None, "Required property 'base_url' is missing"
2832
+ return typing.cast(builtins.str, result)
939
2833
 
940
2834
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
941
2835
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -944,31 +2838,35 @@ class CfnPlaybackConfiguration(
944
2838
  return not (rhs == self)
945
2839
 
946
2840
  def __repr__(self) -> str:
947
- return "HlsConfigurationProperty(%s)" % ", ".join(
2841
+ return "HttpConfigurationProperty(%s)" % ", ".join(
948
2842
  k + "=" + repr(v) for k, v in self._values.items()
949
2843
  )
950
2844
 
951
2845
  @jsii.data_type(
952
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty",
2846
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty",
953
2847
  jsii_struct_bases=[],
954
2848
  name_mapping={
955
- "ad_decision_server_url": "adDecisionServerUrl",
956
- "max_duration_seconds": "maxDurationSeconds",
2849
+ "header_name": "headerName",
2850
+ "secret_arn": "secretArn",
2851
+ "secret_string_key": "secretStringKey",
957
2852
  },
958
2853
  )
959
- class LivePreRollConfigurationProperty:
2854
+ class SecretsManagerAccessTokenConfigurationProperty:
960
2855
  def __init__(
961
2856
  self,
962
2857
  *,
963
- ad_decision_server_url: typing.Optional[builtins.str] = None,
964
- max_duration_seconds: typing.Optional[jsii.Number] = None,
2858
+ header_name: typing.Optional[builtins.str] = None,
2859
+ secret_arn: typing.Optional[builtins.str] = None,
2860
+ secret_string_key: typing.Optional[builtins.str] = None,
965
2861
  ) -> None:
966
- '''The configuration for pre-roll ad insertion.
2862
+ '''
2863
+ For information about Secrets Manager access token authentication, see Working with AWS Secrets Manager access token authentication.
967
2864
 
968
- :param ad_decision_server_url: The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.
969
- :param max_duration_seconds: The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.
2865
+ :param header_name:
2866
+ :param secret_arn:
2867
+ :param secret_string_key:
970
2868
 
971
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html
2869
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-secretsmanageraccesstokenconfiguration.html
972
2870
  :exampleMetadata: fixture=_generated
973
2871
 
974
2872
  Example::
@@ -977,42 +2875,48 @@ class CfnPlaybackConfiguration(
977
2875
  # The values are placeholders you should change.
978
2876
  from aws_cdk import aws_mediatailor as mediatailor
979
2877
 
980
- live_pre_roll_configuration_property = mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty(
981
- ad_decision_server_url="adDecisionServerUrl",
982
- max_duration_seconds=123
2878
+ secrets_manager_access_token_configuration_property = mediatailor.CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty(
2879
+ header_name="headerName",
2880
+ secret_arn="secretArn",
2881
+ secret_string_key="secretStringKey"
983
2882
  )
984
2883
  '''
985
2884
  if __debug__:
986
- type_hints = typing.get_type_hints(_typecheckingstub__be1326ff9046a5c3b87adfaac42a0610149574f9d367d1c04949ccf8a48d1a93)
987
- check_type(argname="argument ad_decision_server_url", value=ad_decision_server_url, expected_type=type_hints["ad_decision_server_url"])
988
- check_type(argname="argument max_duration_seconds", value=max_duration_seconds, expected_type=type_hints["max_duration_seconds"])
2885
+ type_hints = typing.get_type_hints(_typecheckingstub__2feb4b5d75163b5824572e2ce3caac3c88483a5919f3648703d571fb23723c19)
2886
+ check_type(argname="argument header_name", value=header_name, expected_type=type_hints["header_name"])
2887
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
2888
+ check_type(argname="argument secret_string_key", value=secret_string_key, expected_type=type_hints["secret_string_key"])
989
2889
  self._values: typing.Dict[builtins.str, typing.Any] = {}
990
- if ad_decision_server_url is not None:
991
- self._values["ad_decision_server_url"] = ad_decision_server_url
992
- if max_duration_seconds is not None:
993
- self._values["max_duration_seconds"] = max_duration_seconds
2890
+ if header_name is not None:
2891
+ self._values["header_name"] = header_name
2892
+ if secret_arn is not None:
2893
+ self._values["secret_arn"] = secret_arn
2894
+ if secret_string_key is not None:
2895
+ self._values["secret_string_key"] = secret_string_key
994
2896
 
995
2897
  @builtins.property
996
- def ad_decision_server_url(self) -> typing.Optional[builtins.str]:
997
- '''The URL for the ad decision server (ADS) for pre-roll ads.
998
-
999
- This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.
1000
-
1001
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-addecisionserverurl
2898
+ def header_name(self) -> typing.Optional[builtins.str]:
1002
2899
  '''
1003
- result = self._values.get("ad_decision_server_url")
2900
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-secretsmanageraccesstokenconfiguration.html#cfn-mediatailor-sourcelocation-secretsmanageraccesstokenconfiguration-headername
2901
+ '''
2902
+ result = self._values.get("header_name")
1004
2903
  return typing.cast(typing.Optional[builtins.str], result)
1005
2904
 
1006
2905
  @builtins.property
1007
- def max_duration_seconds(self) -> typing.Optional[jsii.Number]:
1008
- '''The maximum allowed duration for the pre-roll ad avail.
1009
-
1010
- AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.
2906
+ def secret_arn(self) -> typing.Optional[builtins.str]:
2907
+ '''
2908
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-secretsmanageraccesstokenconfiguration.html#cfn-mediatailor-sourcelocation-secretsmanageraccesstokenconfiguration-secretarn
2909
+ '''
2910
+ result = self._values.get("secret_arn")
2911
+ return typing.cast(typing.Optional[builtins.str], result)
1011
2912
 
1012
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-maxdurationseconds
2913
+ @builtins.property
2914
+ def secret_string_key(self) -> typing.Optional[builtins.str]:
1013
2915
  '''
1014
- result = self._values.get("max_duration_seconds")
1015
- return typing.cast(typing.Optional[jsii.Number], result)
2916
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-secretsmanageraccesstokenconfiguration.html#cfn-mediatailor-sourcelocation-secretsmanageraccesstokenconfiguration-secretstringkey
2917
+ '''
2918
+ result = self._values.get("secret_string_key")
2919
+ return typing.cast(typing.Optional[builtins.str], result)
1016
2920
 
1017
2921
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1018
2922
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1021,28 +2925,27 @@ class CfnPlaybackConfiguration(
1021
2925
  return not (rhs == self)
1022
2926
 
1023
2927
  def __repr__(self) -> str:
1024
- return "LivePreRollConfigurationProperty(%s)" % ", ".join(
2928
+ return "SecretsManagerAccessTokenConfigurationProperty(%s)" % ", ".join(
1025
2929
  k + "=" + repr(v) for k, v in self._values.items()
1026
2930
  )
1027
2931
 
1028
2932
  @jsii.data_type(
1029
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty",
2933
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnSourceLocation.SegmentDeliveryConfigurationProperty",
1030
2934
  jsii_struct_bases=[],
1031
- name_mapping={"ad_marker_passthrough": "adMarkerPassthrough"},
2935
+ name_mapping={"base_url": "baseUrl", "name": "name"},
1032
2936
  )
1033
- class ManifestProcessingRulesProperty:
2937
+ class SegmentDeliveryConfigurationProperty:
1034
2938
  def __init__(
1035
2939
  self,
1036
2940
  *,
1037
- ad_marker_passthrough: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPlaybackConfiguration.AdMarkerPassthroughProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2941
+ base_url: typing.Optional[builtins.str] = None,
2942
+ name: typing.Optional[builtins.str] = None,
1038
2943
  ) -> None:
1039
- '''The configuration for manifest processing rules.
1040
-
1041
- Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
1042
-
1043
- :param ad_marker_passthrough: For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest. No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
2944
+ '''
2945
+ :param base_url: This is typically a content delivery network (CDN). The URL can be absolute or relative. To use an absolute URL include the protocol, such as https://example.com/some/path. To use a relative URL specify the relative path, such as /some/path*.
2946
+ :param name:
1044
2947
 
1045
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html
2948
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-segmentdeliveryconfiguration.html
1046
2949
  :exampleMetadata: fixture=_generated
1047
2950
 
1048
2951
  Example::
@@ -1051,31 +2954,38 @@ class CfnPlaybackConfiguration(
1051
2954
  # The values are placeholders you should change.
1052
2955
  from aws_cdk import aws_mediatailor as mediatailor
1053
2956
 
1054
- manifest_processing_rules_property = mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty(
1055
- ad_marker_passthrough=mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
1056
- enabled=False
1057
- )
2957
+ segment_delivery_configuration_property = mediatailor.CfnSourceLocation.SegmentDeliveryConfigurationProperty(
2958
+ base_url="baseUrl",
2959
+ name="name"
1058
2960
  )
1059
2961
  '''
1060
2962
  if __debug__:
1061
- type_hints = typing.get_type_hints(_typecheckingstub__ef5bb7a5b9697fa8ca9b867a5d8f7f8c6041a353ed9fad8ec9b06f14fd300d73)
1062
- check_type(argname="argument ad_marker_passthrough", value=ad_marker_passthrough, expected_type=type_hints["ad_marker_passthrough"])
2963
+ type_hints = typing.get_type_hints(_typecheckingstub__383b15aa1a1faec4ed8f2f0982e5ba8e88dfe9184d36b17c3b787e66a0c45076)
2964
+ check_type(argname="argument base_url", value=base_url, expected_type=type_hints["base_url"])
2965
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1063
2966
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1064
- if ad_marker_passthrough is not None:
1065
- self._values["ad_marker_passthrough"] = ad_marker_passthrough
2967
+ if base_url is not None:
2968
+ self._values["base_url"] = base_url
2969
+ if name is not None:
2970
+ self._values["name"] = name
1066
2971
 
1067
2972
  @builtins.property
1068
- def ad_marker_passthrough(
1069
- self,
1070
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AdMarkerPassthroughProperty"]]:
1071
- '''For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X-SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.
2973
+ def base_url(self) -> typing.Optional[builtins.str]:
2974
+ '''
2975
+ This is typically a content delivery network (CDN). The URL can be absolute or relative. To use an absolute URL include the protocol, such as https://example.com/some/path. To use a relative URL specify the relative path, such as /some/path*.
1072
2976
 
1073
- No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
2977
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-segmentdeliveryconfiguration.html#cfn-mediatailor-sourcelocation-segmentdeliveryconfiguration-baseurl
2978
+ '''
2979
+ result = self._values.get("base_url")
2980
+ return typing.cast(typing.Optional[builtins.str], result)
1074
2981
 
1075
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules-admarkerpassthrough
2982
+ @builtins.property
2983
+ def name(self) -> typing.Optional[builtins.str]:
1076
2984
  '''
1077
- result = self._values.get("ad_marker_passthrough")
1078
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPlaybackConfiguration.AdMarkerPassthroughProperty"]], result)
2985
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-sourcelocation-segmentdeliveryconfiguration.html#cfn-mediatailor-sourcelocation-segmentdeliveryconfiguration-name
2986
+ '''
2987
+ result = self._values.get("name")
2988
+ return typing.cast(typing.Optional[builtins.str], result)
1079
2989
 
1080
2990
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1081
2991
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1084,71 +2994,44 @@ class CfnPlaybackConfiguration(
1084
2994
  return not (rhs == self)
1085
2995
 
1086
2996
  def __repr__(self) -> str:
1087
- return "ManifestProcessingRulesProperty(%s)" % ", ".join(
2997
+ return "SegmentDeliveryConfigurationProperty(%s)" % ", ".join(
1088
2998
  k + "=" + repr(v) for k, v in self._values.items()
1089
2999
  )
1090
3000
 
1091
3001
 
1092
3002
  @jsii.data_type(
1093
- jsii_type="aws-cdk-lib.aws_mediatailor.CfnPlaybackConfigurationProps",
3003
+ jsii_type="aws-cdk-lib.aws_mediatailor.CfnSourceLocationProps",
1094
3004
  jsii_struct_bases=[],
1095
3005
  name_mapping={
1096
- "ad_decision_server_url": "adDecisionServerUrl",
1097
- "name": "name",
1098
- "video_content_source_url": "videoContentSourceUrl",
1099
- "avail_suppression": "availSuppression",
1100
- "bumper": "bumper",
1101
- "cdn_configuration": "cdnConfiguration",
1102
- "configuration_aliases": "configurationAliases",
1103
- "dash_configuration": "dashConfiguration",
1104
- "hls_configuration": "hlsConfiguration",
1105
- "live_pre_roll_configuration": "livePreRollConfiguration",
1106
- "manifest_processing_rules": "manifestProcessingRules",
1107
- "personalization_threshold_seconds": "personalizationThresholdSeconds",
1108
- "slate_ad_url": "slateAdUrl",
3006
+ "http_configuration": "httpConfiguration",
3007
+ "source_location_name": "sourceLocationName",
3008
+ "access_configuration": "accessConfiguration",
3009
+ "default_segment_delivery_configuration": "defaultSegmentDeliveryConfiguration",
3010
+ "segment_delivery_configurations": "segmentDeliveryConfigurations",
1109
3011
  "tags": "tags",
1110
- "transcode_profile_name": "transcodeProfileName",
1111
3012
  },
1112
3013
  )
1113
- class CfnPlaybackConfigurationProps:
3014
+ class CfnSourceLocationProps:
1114
3015
  def __init__(
1115
3016
  self,
1116
3017
  *,
1117
- ad_decision_server_url: builtins.str,
1118
- name: builtins.str,
1119
- video_content_source_url: builtins.str,
1120
- avail_suppression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.AvailSuppressionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1121
- bumper: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.BumperProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1122
- cdn_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.CdnConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1123
- configuration_aliases: typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]] = None,
1124
- dash_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.DashConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1125
- hls_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.HlsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1126
- live_pre_roll_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.LivePreRollConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1127
- manifest_processing_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPlaybackConfiguration.ManifestProcessingRulesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1128
- personalization_threshold_seconds: typing.Optional[jsii.Number] = None,
1129
- slate_ad_url: typing.Optional[builtins.str] = None,
3018
+ http_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.HttpConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
3019
+ source_location_name: builtins.str,
3020
+ access_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.AccessConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3021
+ default_segment_delivery_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3022
+ segment_delivery_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.SegmentDeliveryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1130
3023
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1131
- transcode_profile_name: typing.Optional[builtins.str] = None,
1132
3024
  ) -> None:
1133
- '''Properties for defining a ``CfnPlaybackConfiguration``.
3025
+ '''Properties for defining a ``CfnSourceLocation``.
1134
3026
 
1135
- :param ad_decision_server_url: The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
1136
- :param name: The identifier for the playback configuration.
1137
- :param video_content_source_url: The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.
1138
- :param avail_suppression: The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
1139
- :param bumper: The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
1140
- :param cdn_configuration: The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
1141
- :param configuration_aliases: The player parameters and aliases used as dynamic variables during session initialization. For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html>`_ .
1142
- :param dash_configuration: The configuration for DASH PUT operations.
1143
- :param hls_configuration: The configuration for HLS content.
1144
- :param live_pre_roll_configuration: The configuration for pre-roll ad insertion.
1145
- :param manifest_processing_rules: The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
1146
- :param personalization_threshold_seconds: Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break. If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
1147
- :param slate_ad_url: The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
1148
- :param tags: The tags to assign to the playback configuration.
1149
- :param transcode_profile_name: The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
3027
+ :param http_configuration:
3028
+ :param source_location_name:
3029
+ :param access_configuration:
3030
+ :param default_segment_delivery_configuration: Use this if you want the segment delivery server to be different from the source location server. For example, you can configure your source location server to be an origination server, such as MediaPackage, and the segment delivery server to be a content delivery network (CDN), such as CloudFront. If you don't specify a segment delivery server, then the source location server is used.
3031
+ :param segment_delivery_configurations:
3032
+ :param tags: The tags to assign to the source location.
1150
3033
 
1151
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html
3034
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html
1152
3035
  :exampleMetadata: fixture=_generated
1153
3036
 
1154
3037
  Example::
@@ -1157,274 +3040,116 @@ class CfnPlaybackConfigurationProps:
1157
3040
  # The values are placeholders you should change.
1158
3041
  from aws_cdk import aws_mediatailor as mediatailor
1159
3042
 
1160
- # configuration_aliases: Any
1161
-
1162
- cfn_playback_configuration_props = mediatailor.CfnPlaybackConfigurationProps(
1163
- ad_decision_server_url="adDecisionServerUrl",
1164
- name="name",
1165
- video_content_source_url="videoContentSourceUrl",
3043
+ cfn_source_location_props = mediatailor.CfnSourceLocationProps(
3044
+ http_configuration=mediatailor.CfnSourceLocation.HttpConfigurationProperty(
3045
+ base_url="baseUrl"
3046
+ ),
3047
+ source_location_name="sourceLocationName",
1166
3048
 
1167
3049
  # the properties below are optional
1168
- avail_suppression=mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty(
1169
- mode="mode",
1170
- value="value"
1171
- ),
1172
- bumper=mediatailor.CfnPlaybackConfiguration.BumperProperty(
1173
- end_url="endUrl",
1174
- start_url="startUrl"
1175
- ),
1176
- cdn_configuration=mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty(
1177
- ad_segment_url_prefix="adSegmentUrlPrefix",
1178
- content_segment_url_prefix="contentSegmentUrlPrefix"
1179
- ),
1180
- configuration_aliases={
1181
- "configuration_aliases_key": configuration_aliases
1182
- },
1183
- dash_configuration=mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty(
1184
- manifest_endpoint_prefix="manifestEndpointPrefix",
1185
- mpd_location="mpdLocation",
1186
- origin_manifest_type="originManifestType"
1187
- ),
1188
- hls_configuration=mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty(
1189
- manifest_endpoint_prefix="manifestEndpointPrefix"
1190
- ),
1191
- live_pre_roll_configuration=mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty(
1192
- ad_decision_server_url="adDecisionServerUrl",
1193
- max_duration_seconds=123
1194
- ),
1195
- manifest_processing_rules=mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty(
1196
- ad_marker_passthrough=mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty(
1197
- enabled=False
3050
+ access_configuration=mediatailor.CfnSourceLocation.AccessConfigurationProperty(
3051
+ access_type="accessType",
3052
+ secrets_manager_access_token_configuration=mediatailor.CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty(
3053
+ header_name="headerName",
3054
+ secret_arn="secretArn",
3055
+ secret_string_key="secretStringKey"
1198
3056
  )
1199
3057
  ),
1200
- personalization_threshold_seconds=123,
1201
- slate_ad_url="slateAdUrl",
3058
+ default_segment_delivery_configuration=mediatailor.CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty(
3059
+ base_url="baseUrl"
3060
+ ),
3061
+ segment_delivery_configurations=[mediatailor.CfnSourceLocation.SegmentDeliveryConfigurationProperty(
3062
+ base_url="baseUrl",
3063
+ name="name"
3064
+ )],
1202
3065
  tags=[CfnTag(
1203
3066
  key="key",
1204
3067
  value="value"
1205
- )],
1206
- transcode_profile_name="transcodeProfileName"
3068
+ )]
1207
3069
  )
1208
3070
  '''
1209
3071
  if __debug__:
1210
- type_hints = typing.get_type_hints(_typecheckingstub__935886ab495203cc213786b925e7fd8fe4acd3f9db5864d4f1f5c011539346f8)
1211
- check_type(argname="argument ad_decision_server_url", value=ad_decision_server_url, expected_type=type_hints["ad_decision_server_url"])
1212
- check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1213
- check_type(argname="argument video_content_source_url", value=video_content_source_url, expected_type=type_hints["video_content_source_url"])
1214
- check_type(argname="argument avail_suppression", value=avail_suppression, expected_type=type_hints["avail_suppression"])
1215
- check_type(argname="argument bumper", value=bumper, expected_type=type_hints["bumper"])
1216
- check_type(argname="argument cdn_configuration", value=cdn_configuration, expected_type=type_hints["cdn_configuration"])
1217
- check_type(argname="argument configuration_aliases", value=configuration_aliases, expected_type=type_hints["configuration_aliases"])
1218
- check_type(argname="argument dash_configuration", value=dash_configuration, expected_type=type_hints["dash_configuration"])
1219
- check_type(argname="argument hls_configuration", value=hls_configuration, expected_type=type_hints["hls_configuration"])
1220
- check_type(argname="argument live_pre_roll_configuration", value=live_pre_roll_configuration, expected_type=type_hints["live_pre_roll_configuration"])
1221
- check_type(argname="argument manifest_processing_rules", value=manifest_processing_rules, expected_type=type_hints["manifest_processing_rules"])
1222
- check_type(argname="argument personalization_threshold_seconds", value=personalization_threshold_seconds, expected_type=type_hints["personalization_threshold_seconds"])
1223
- check_type(argname="argument slate_ad_url", value=slate_ad_url, expected_type=type_hints["slate_ad_url"])
3072
+ type_hints = typing.get_type_hints(_typecheckingstub__cb562c06ea390d62a28e2d88d462a731b39635f142da846f03422a25348fff7c)
3073
+ check_type(argname="argument http_configuration", value=http_configuration, expected_type=type_hints["http_configuration"])
3074
+ check_type(argname="argument source_location_name", value=source_location_name, expected_type=type_hints["source_location_name"])
3075
+ check_type(argname="argument access_configuration", value=access_configuration, expected_type=type_hints["access_configuration"])
3076
+ check_type(argname="argument default_segment_delivery_configuration", value=default_segment_delivery_configuration, expected_type=type_hints["default_segment_delivery_configuration"])
3077
+ check_type(argname="argument segment_delivery_configurations", value=segment_delivery_configurations, expected_type=type_hints["segment_delivery_configurations"])
1224
3078
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1225
- check_type(argname="argument transcode_profile_name", value=transcode_profile_name, expected_type=type_hints["transcode_profile_name"])
1226
3079
  self._values: typing.Dict[builtins.str, typing.Any] = {
1227
- "ad_decision_server_url": ad_decision_server_url,
1228
- "name": name,
1229
- "video_content_source_url": video_content_source_url,
3080
+ "http_configuration": http_configuration,
3081
+ "source_location_name": source_location_name,
1230
3082
  }
1231
- if avail_suppression is not None:
1232
- self._values["avail_suppression"] = avail_suppression
1233
- if bumper is not None:
1234
- self._values["bumper"] = bumper
1235
- if cdn_configuration is not None:
1236
- self._values["cdn_configuration"] = cdn_configuration
1237
- if configuration_aliases is not None:
1238
- self._values["configuration_aliases"] = configuration_aliases
1239
- if dash_configuration is not None:
1240
- self._values["dash_configuration"] = dash_configuration
1241
- if hls_configuration is not None:
1242
- self._values["hls_configuration"] = hls_configuration
1243
- if live_pre_roll_configuration is not None:
1244
- self._values["live_pre_roll_configuration"] = live_pre_roll_configuration
1245
- if manifest_processing_rules is not None:
1246
- self._values["manifest_processing_rules"] = manifest_processing_rules
1247
- if personalization_threshold_seconds is not None:
1248
- self._values["personalization_threshold_seconds"] = personalization_threshold_seconds
1249
- if slate_ad_url is not None:
1250
- self._values["slate_ad_url"] = slate_ad_url
3083
+ if access_configuration is not None:
3084
+ self._values["access_configuration"] = access_configuration
3085
+ if default_segment_delivery_configuration is not None:
3086
+ self._values["default_segment_delivery_configuration"] = default_segment_delivery_configuration
3087
+ if segment_delivery_configurations is not None:
3088
+ self._values["segment_delivery_configurations"] = segment_delivery_configurations
1251
3089
  if tags is not None:
1252
- self._values["tags"] = tags
1253
- if transcode_profile_name is not None:
1254
- self._values["transcode_profile_name"] = transcode_profile_name
1255
-
1256
- @builtins.property
1257
- def ad_decision_server_url(self) -> builtins.str:
1258
- '''The URL for the ad decision server (ADS).
1259
-
1260
- This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
1261
-
1262
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-addecisionserverurl
1263
- '''
1264
- result = self._values.get("ad_decision_server_url")
1265
- assert result is not None, "Required property 'ad_decision_server_url' is missing"
1266
- return typing.cast(builtins.str, result)
1267
-
1268
- @builtins.property
1269
- def name(self) -> builtins.str:
1270
- '''The identifier for the playback configuration.
1271
-
1272
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-name
1273
- '''
1274
- result = self._values.get("name")
1275
- assert result is not None, "Required property 'name' is missing"
1276
- return typing.cast(builtins.str, result)
1277
-
1278
- @builtins.property
1279
- def video_content_source_url(self) -> builtins.str:
1280
- '''The URL prefix for the parent manifest for the stream, minus the asset ID.
1281
-
1282
- The maximum length is 512 characters.
1283
-
1284
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-videocontentsourceurl
1285
- '''
1286
- result = self._values.get("video_content_source_url")
1287
- assert result is not None, "Required property 'video_content_source_url' is missing"
1288
- return typing.cast(builtins.str, result)
1289
-
1290
- @builtins.property
1291
- def avail_suppression(
1292
- self,
1293
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.AvailSuppressionProperty]]:
1294
- '''The configuration for avail suppression, also known as ad suppression.
1295
-
1296
- For more information about ad suppression, see Ad Suppression (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
1297
-
1298
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression
1299
- '''
1300
- result = self._values.get("avail_suppression")
1301
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.AvailSuppressionProperty]], result)
1302
-
1303
- @builtins.property
1304
- def bumper(
1305
- self,
1306
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.BumperProperty]]:
1307
- '''The configuration for bumpers.
1308
-
1309
- Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers (https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html).
1310
-
1311
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper
1312
- '''
1313
- result = self._values.get("bumper")
1314
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.BumperProperty]], result)
1315
-
1316
- @builtins.property
1317
- def cdn_configuration(
1318
- self,
1319
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.CdnConfigurationProperty]]:
1320
- '''The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
1321
-
1322
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration
1323
- '''
1324
- result = self._values.get("cdn_configuration")
1325
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.CdnConfigurationProperty]], result)
1326
-
1327
- @builtins.property
1328
- def configuration_aliases(
1329
- self,
1330
- ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]]:
1331
- '''The player parameters and aliases used as dynamic variables during session initialization.
1332
-
1333
- For more information, see `Domain Variables <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html>`_ .
1334
-
1335
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-configurationaliases
1336
- '''
1337
- result = self._values.get("configuration_aliases")
1338
- return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, typing.Any], _IResolvable_da3f097b]], result)
3090
+ self._values["tags"] = tags
1339
3091
 
1340
3092
  @builtins.property
1341
- def dash_configuration(
3093
+ def http_configuration(
1342
3094
  self,
1343
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.DashConfigurationProperty]]:
1344
- '''The configuration for DASH PUT operations.
1345
-
1346
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration
3095
+ ) -> typing.Union[_IResolvable_da3f097b, CfnSourceLocation.HttpConfigurationProperty]:
1347
3096
  '''
1348
- result = self._values.get("dash_configuration")
1349
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.DashConfigurationProperty]], result)
3097
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html#cfn-mediatailor-sourcelocation-httpconfiguration
3098
+ '''
3099
+ result = self._values.get("http_configuration")
3100
+ assert result is not None, "Required property 'http_configuration' is missing"
3101
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnSourceLocation.HttpConfigurationProperty], result)
1350
3102
 
1351
3103
  @builtins.property
1352
- def hls_configuration(
1353
- self,
1354
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.HlsConfigurationProperty]]:
1355
- '''The configuration for HLS content.
1356
-
1357
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration
3104
+ def source_location_name(self) -> builtins.str:
1358
3105
  '''
1359
- result = self._values.get("hls_configuration")
1360
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.HlsConfigurationProperty]], result)
3106
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html#cfn-mediatailor-sourcelocation-sourcelocationname
3107
+ '''
3108
+ result = self._values.get("source_location_name")
3109
+ assert result is not None, "Required property 'source_location_name' is missing"
3110
+ return typing.cast(builtins.str, result)
1361
3111
 
1362
3112
  @builtins.property
1363
- def live_pre_roll_configuration(
3113
+ def access_configuration(
1364
3114
  self,
1365
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.LivePreRollConfigurationProperty]]:
1366
- '''The configuration for pre-roll ad insertion.
1367
-
1368
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration
3115
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.AccessConfigurationProperty]]:
1369
3116
  '''
1370
- result = self._values.get("live_pre_roll_configuration")
1371
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.LivePreRollConfigurationProperty]], result)
3117
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html#cfn-mediatailor-sourcelocation-accessconfiguration
3118
+ '''
3119
+ result = self._values.get("access_configuration")
3120
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.AccessConfigurationProperty]], result)
1372
3121
 
1373
3122
  @builtins.property
1374
- def manifest_processing_rules(
3123
+ def default_segment_delivery_configuration(
1375
3124
  self,
1376
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.ManifestProcessingRulesProperty]]:
1377
- '''The configuration for manifest processing rules.
1378
-
1379
- Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
1380
-
1381
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules
3125
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty]]:
1382
3126
  '''
1383
- result = self._values.get("manifest_processing_rules")
1384
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPlaybackConfiguration.ManifestProcessingRulesProperty]], result)
1385
-
1386
- @builtins.property
1387
- def personalization_threshold_seconds(self) -> typing.Optional[jsii.Number]:
1388
- '''Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break.
3127
+ Use this if you want the segment delivery server to be different from the source location server. For example, you can configure your source location server to be an origination server, such as MediaPackage, and the segment delivery server to be a content delivery network (CDN), such as CloudFront. If you don't specify a segment delivery server, then the source location server is used.
1389
3128
 
1390
- If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor (https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html).
1391
-
1392
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-personalizationthresholdseconds
3129
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html#cfn-mediatailor-sourcelocation-defaultsegmentdeliveryconfiguration
1393
3130
  '''
1394
- result = self._values.get("personalization_threshold_seconds")
1395
- return typing.cast(typing.Optional[jsii.Number], result)
3131
+ result = self._values.get("default_segment_delivery_configuration")
3132
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty]], result)
1396
3133
 
1397
3134
  @builtins.property
1398
- def slate_ad_url(self) -> typing.Optional[builtins.str]:
1399
- '''The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads.
1400
-
1401
- AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
1402
-
1403
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-slateadurl
3135
+ def segment_delivery_configurations(
3136
+ self,
3137
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.SegmentDeliveryConfigurationProperty]]]]:
1404
3138
  '''
1405
- result = self._values.get("slate_ad_url")
1406
- return typing.cast(typing.Optional[builtins.str], result)
3139
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html#cfn-mediatailor-sourcelocation-segmentdeliveryconfigurations
3140
+ '''
3141
+ result = self._values.get("segment_delivery_configurations")
3142
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.SegmentDeliveryConfigurationProperty]]]], result)
1407
3143
 
1408
3144
  @builtins.property
1409
3145
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1410
- '''The tags to assign to the playback configuration.
3146
+ '''The tags to assign to the source location.
1411
3147
 
1412
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-tags
3148
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html#cfn-mediatailor-sourcelocation-tags
1413
3149
  '''
1414
3150
  result = self._values.get("tags")
1415
3151
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1416
3152
 
1417
- @builtins.property
1418
- def transcode_profile_name(self) -> typing.Optional[builtins.str]:
1419
- '''The name that is used to associate this playback configuration with a custom transcode profile.
1420
-
1421
- This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
1422
-
1423
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-transcodeprofilename
1424
- '''
1425
- result = self._values.get("transcode_profile_name")
1426
- return typing.cast(typing.Optional[builtins.str], result)
1427
-
1428
3153
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1429
3154
  return isinstance(rhs, self.__class__) and rhs._values == self._values
1430
3155
 
@@ -1432,18 +3157,190 @@ class CfnPlaybackConfigurationProps:
1432
3157
  return not (rhs == self)
1433
3158
 
1434
3159
  def __repr__(self) -> str:
1435
- return "CfnPlaybackConfigurationProps(%s)" % ", ".join(
3160
+ return "CfnSourceLocationProps(%s)" % ", ".join(
1436
3161
  k + "=" + repr(v) for k, v in self._values.items()
1437
3162
  )
1438
3163
 
1439
3164
 
1440
3165
  __all__ = [
3166
+ "CfnChannel",
3167
+ "CfnChannelPolicy",
3168
+ "CfnChannelPolicyProps",
3169
+ "CfnChannelProps",
1441
3170
  "CfnPlaybackConfiguration",
1442
3171
  "CfnPlaybackConfigurationProps",
3172
+ "CfnSourceLocation",
3173
+ "CfnSourceLocationProps",
1443
3174
  ]
1444
3175
 
1445
3176
  publication.publish()
1446
3177
 
3178
+ def _typecheckingstub__95afc802641850838d7d754c58072c279165a93bff5fc055789c1090a21b9714(
3179
+ scope: _constructs_77d1e7e8.Construct,
3180
+ id: builtins.str,
3181
+ *,
3182
+ channel_name: builtins.str,
3183
+ outputs: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.RequestOutputItemProperty, typing.Dict[builtins.str, typing.Any]]]]],
3184
+ playback_mode: builtins.str,
3185
+ filler_slate: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.SlateSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3186
+ log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.LogConfigurationForChannelProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3187
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3188
+ tier: typing.Optional[builtins.str] = None,
3189
+ ) -> None:
3190
+ """Type checking stubs"""
3191
+ pass
3192
+
3193
+ def _typecheckingstub__d632b023994803b26caa2590748766e0dabab5ba299874fe587fa9f37c926bda(
3194
+ inspector: _TreeInspector_488e0dd5,
3195
+ ) -> None:
3196
+ """Type checking stubs"""
3197
+ pass
3198
+
3199
+ def _typecheckingstub__fd05180cbc64f9ab36b59c9143ba4df4683bae47e98fe90c0d0bacdd9fbb8fae(
3200
+ props: typing.Mapping[builtins.str, typing.Any],
3201
+ ) -> None:
3202
+ """Type checking stubs"""
3203
+ pass
3204
+
3205
+ def _typecheckingstub__414356f19e6a1e142f58fb20d5aa3f44fd76f93ad6f9a944f9177c71e65bd031(
3206
+ value: builtins.str,
3207
+ ) -> None:
3208
+ """Type checking stubs"""
3209
+ pass
3210
+
3211
+ def _typecheckingstub__f6c205b75797f1a6f80dab721b03fc96335f8bd384f7c63aab656bd3136a90ed(
3212
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnChannel.RequestOutputItemProperty]]],
3213
+ ) -> None:
3214
+ """Type checking stubs"""
3215
+ pass
3216
+
3217
+ def _typecheckingstub__0f01c3b2a4d663235632876690f021c08885e2683808fd8f8354ec563a6cdbcf(
3218
+ value: builtins.str,
3219
+ ) -> None:
3220
+ """Type checking stubs"""
3221
+ pass
3222
+
3223
+ def _typecheckingstub__bb99598f2b90f05f74078bf9dbab5d32c9f963ec0c7f60fc84c741cd7f7a72d5(
3224
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.SlateSourceProperty]],
3225
+ ) -> None:
3226
+ """Type checking stubs"""
3227
+ pass
3228
+
3229
+ def _typecheckingstub__272cdcfa3dd55bace9d7517c474b5f20801108c57ec19149b84a6595215b1252(
3230
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.LogConfigurationForChannelProperty]],
3231
+ ) -> None:
3232
+ """Type checking stubs"""
3233
+ pass
3234
+
3235
+ def _typecheckingstub__3bde4918e4d23e04040b87adfc6739660dba537c84b0ca2f813daacbf009f298(
3236
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3237
+ ) -> None:
3238
+ """Type checking stubs"""
3239
+ pass
3240
+
3241
+ def _typecheckingstub__35198b30b0429365e601c60c11c6bb80791a3176a301d1fac563832c0e0edd38(
3242
+ value: typing.Optional[builtins.str],
3243
+ ) -> None:
3244
+ """Type checking stubs"""
3245
+ pass
3246
+
3247
+ def _typecheckingstub__e53b76fce032c9b5b0b3ab03b03ec40f7f01e061c77ffbd9e3b0101056eecfb5(
3248
+ *,
3249
+ manifest_window_seconds: typing.Optional[jsii.Number] = None,
3250
+ min_buffer_time_seconds: typing.Optional[jsii.Number] = None,
3251
+ min_update_period_seconds: typing.Optional[jsii.Number] = None,
3252
+ suggested_presentation_delay_seconds: typing.Optional[jsii.Number] = None,
3253
+ ) -> None:
3254
+ """Type checking stubs"""
3255
+ pass
3256
+
3257
+ def _typecheckingstub__e31cc39cb17d92681c3726ed02355f545c95afa6883032b1e93af1c43179acc2(
3258
+ *,
3259
+ manifest_window_seconds: typing.Optional[jsii.Number] = None,
3260
+ ) -> None:
3261
+ """Type checking stubs"""
3262
+ pass
3263
+
3264
+ def _typecheckingstub__e5a7e7699e2937a5b57a4d1b83f5129fa2b21541bc55e1f79a1ca106377c5300(
3265
+ *,
3266
+ log_types: typing.Optional[typing.Sequence[builtins.str]] = None,
3267
+ ) -> None:
3268
+ """Type checking stubs"""
3269
+ pass
3270
+
3271
+ def _typecheckingstub__f1d4c3a316ddc28d5db9dbd943c872960619d5643164875a0009ce4f4639f744(
3272
+ *,
3273
+ manifest_name: builtins.str,
3274
+ source_group: builtins.str,
3275
+ dash_playlist_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.DashPlaylistSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3276
+ hls_playlist_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.HlsPlaylistSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3277
+ ) -> None:
3278
+ """Type checking stubs"""
3279
+ pass
3280
+
3281
+ def _typecheckingstub__87bdd7eb43c3b69dcc5175fbdbdf3f64ecc1bea153e89e341c467115c5854c1e(
3282
+ *,
3283
+ source_location_name: typing.Optional[builtins.str] = None,
3284
+ vod_source_name: typing.Optional[builtins.str] = None,
3285
+ ) -> None:
3286
+ """Type checking stubs"""
3287
+ pass
3288
+
3289
+ def _typecheckingstub__31394bd173fe2beb5213e9badd5aafc6ea2b160b870f8a0efcdd0c7418364408(
3290
+ scope: _constructs_77d1e7e8.Construct,
3291
+ id: builtins.str,
3292
+ *,
3293
+ channel_name: builtins.str,
3294
+ policy: typing.Any,
3295
+ ) -> None:
3296
+ """Type checking stubs"""
3297
+ pass
3298
+
3299
+ def _typecheckingstub__9bb5c51872ae1d2e26ab60faf42e8f67d099d72d6182d14f72ac00d2820a1253(
3300
+ inspector: _TreeInspector_488e0dd5,
3301
+ ) -> None:
3302
+ """Type checking stubs"""
3303
+ pass
3304
+
3305
+ def _typecheckingstub__77acf1b52692f677278f400d1fc6aac28c4f4db4641fe9077e743d4105363c94(
3306
+ props: typing.Mapping[builtins.str, typing.Any],
3307
+ ) -> None:
3308
+ """Type checking stubs"""
3309
+ pass
3310
+
3311
+ def _typecheckingstub__33c69c2a3ec02545796ab2a280c6251e38cd027ef575f6e9b82b2238d613b8fb(
3312
+ value: builtins.str,
3313
+ ) -> None:
3314
+ """Type checking stubs"""
3315
+ pass
3316
+
3317
+ def _typecheckingstub__d60990c1542e708efa866295766195f2b5035b80cea3aacc1e22a1d78dd31022(
3318
+ value: typing.Any,
3319
+ ) -> None:
3320
+ """Type checking stubs"""
3321
+ pass
3322
+
3323
+ def _typecheckingstub__0760e4c2515aab3aa0d5aa04febae58f777b0b8b02fe135798d73d9cfc228e7d(
3324
+ *,
3325
+ channel_name: builtins.str,
3326
+ policy: typing.Any,
3327
+ ) -> None:
3328
+ """Type checking stubs"""
3329
+ pass
3330
+
3331
+ def _typecheckingstub__34f9c53dfc17c104058553b2c51bffbfeea7885ab9628618cedcaf8634562913(
3332
+ *,
3333
+ channel_name: builtins.str,
3334
+ outputs: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.RequestOutputItemProperty, typing.Dict[builtins.str, typing.Any]]]]],
3335
+ playback_mode: builtins.str,
3336
+ filler_slate: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.SlateSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3337
+ log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.LogConfigurationForChannelProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3338
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3339
+ tier: typing.Optional[builtins.str] = None,
3340
+ ) -> None:
3341
+ """Type checking stubs"""
3342
+ pass
3343
+
1447
3344
  def _typecheckingstub__3dcfb97a898a80ee6a7b069e26028183e8a797f0c48fdbd4fe6ecb8ad6fb6911(
1448
3345
  scope: _constructs_77d1e7e8.Construct,
1449
3346
  id: builtins.str,
@@ -1651,3 +3548,116 @@ def _typecheckingstub__935886ab495203cc213786b925e7fd8fe4acd3f9db5864d4f1f5c0115
1651
3548
  ) -> None:
1652
3549
  """Type checking stubs"""
1653
3550
  pass
3551
+
3552
+ def _typecheckingstub__dd693d384196965a6e6e42aa969746fa450f3a5099e7be68c145dcc9f5f7e59d(
3553
+ scope: _constructs_77d1e7e8.Construct,
3554
+ id: builtins.str,
3555
+ *,
3556
+ http_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.HttpConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
3557
+ source_location_name: builtins.str,
3558
+ access_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.AccessConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3559
+ default_segment_delivery_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3560
+ segment_delivery_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.SegmentDeliveryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3561
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3562
+ ) -> None:
3563
+ """Type checking stubs"""
3564
+ pass
3565
+
3566
+ def _typecheckingstub__a8a67b4bd9eabe7dff32771e3855c5f4b09c52cc321708cd63f64f1f290488c1(
3567
+ inspector: _TreeInspector_488e0dd5,
3568
+ ) -> None:
3569
+ """Type checking stubs"""
3570
+ pass
3571
+
3572
+ def _typecheckingstub__d9c819cfa165355742944ead86f157d5e4fe520ec150ce7cb7367ac66b39c700(
3573
+ props: typing.Mapping[builtins.str, typing.Any],
3574
+ ) -> None:
3575
+ """Type checking stubs"""
3576
+ pass
3577
+
3578
+ def _typecheckingstub__be0faeec30de7aa74e972fa9be4f5ef1134314ff5984d14b00fc6e2596ceb488(
3579
+ value: typing.Union[_IResolvable_da3f097b, CfnSourceLocation.HttpConfigurationProperty],
3580
+ ) -> None:
3581
+ """Type checking stubs"""
3582
+ pass
3583
+
3584
+ def _typecheckingstub__f3bd8c206592bff1adae3d34013e03de975c95df7847310b70d730fb7b9498b6(
3585
+ value: builtins.str,
3586
+ ) -> None:
3587
+ """Type checking stubs"""
3588
+ pass
3589
+
3590
+ def _typecheckingstub__c1bc53fb2d4148510df3244898b3da3e4ac17d9faee3835bc73da5ad63931214(
3591
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.AccessConfigurationProperty]],
3592
+ ) -> None:
3593
+ """Type checking stubs"""
3594
+ pass
3595
+
3596
+ def _typecheckingstub__7b431a09702c35ab502bf465075ac7a7d86895d1cc20d16caec630b4e0a366dc(
3597
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty]],
3598
+ ) -> None:
3599
+ """Type checking stubs"""
3600
+ pass
3601
+
3602
+ def _typecheckingstub__725f16ab7057c1a2a01a0de087479721b15670cf708ed95838c4271ad45c009a(
3603
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSourceLocation.SegmentDeliveryConfigurationProperty]]]],
3604
+ ) -> None:
3605
+ """Type checking stubs"""
3606
+ pass
3607
+
3608
+ def _typecheckingstub__af85fa3fdd92d33488c46dc70861bcea3919f31a13ab83bd91920e11557a0620(
3609
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3610
+ ) -> None:
3611
+ """Type checking stubs"""
3612
+ pass
3613
+
3614
+ def _typecheckingstub__df138d384fef8104d70a1dae201bed1b055b8ef01c97ffa764008d6423001711(
3615
+ *,
3616
+ access_type: typing.Optional[builtins.str] = None,
3617
+ secrets_manager_access_token_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.SecretsManagerAccessTokenConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3618
+ ) -> None:
3619
+ """Type checking stubs"""
3620
+ pass
3621
+
3622
+ def _typecheckingstub__7c8f2bdbcfd97bfab31281eb19a1cb75bcd15849095da44b410f2703593facdc(
3623
+ *,
3624
+ base_url: typing.Optional[builtins.str] = None,
3625
+ ) -> None:
3626
+ """Type checking stubs"""
3627
+ pass
3628
+
3629
+ def _typecheckingstub__a880194f274158b8a0b3d6dab7716d3a29cb93edfb1f5ef3e8b507eb8379c18a(
3630
+ *,
3631
+ base_url: builtins.str,
3632
+ ) -> None:
3633
+ """Type checking stubs"""
3634
+ pass
3635
+
3636
+ def _typecheckingstub__2feb4b5d75163b5824572e2ce3caac3c88483a5919f3648703d571fb23723c19(
3637
+ *,
3638
+ header_name: typing.Optional[builtins.str] = None,
3639
+ secret_arn: typing.Optional[builtins.str] = None,
3640
+ secret_string_key: typing.Optional[builtins.str] = None,
3641
+ ) -> None:
3642
+ """Type checking stubs"""
3643
+ pass
3644
+
3645
+ def _typecheckingstub__383b15aa1a1faec4ed8f2f0982e5ba8e88dfe9184d36b17c3b787e66a0c45076(
3646
+ *,
3647
+ base_url: typing.Optional[builtins.str] = None,
3648
+ name: typing.Optional[builtins.str] = None,
3649
+ ) -> None:
3650
+ """Type checking stubs"""
3651
+ pass
3652
+
3653
+ def _typecheckingstub__cb562c06ea390d62a28e2d88d462a731b39635f142da846f03422a25348fff7c(
3654
+ *,
3655
+ http_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.HttpConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
3656
+ source_location_name: builtins.str,
3657
+ access_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.AccessConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3658
+ default_segment_delivery_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.DefaultSegmentDeliveryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3659
+ segment_delivery_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSourceLocation.SegmentDeliveryConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3660
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3661
+ ) -> None:
3662
+ """Type checking stubs"""
3663
+ pass