aws-cdk-lib 2.178.1__py3-none-any.whl → 2.179.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 (34) hide show
  1. aws_cdk/__init__.py +69 -35
  2. aws_cdk/_jsii/__init__.py +1 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.178.1.jsii.tgz → aws-cdk-lib@2.179.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +170 -29
  5. aws_cdk/aws_apigatewayv2/__init__.py +151 -32
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +348 -0
  7. aws_cdk/aws_applicationautoscaling/__init__.py +8 -8
  8. aws_cdk/aws_appsync/__init__.py +6 -4
  9. aws_cdk/aws_cloudfront/__init__.py +5 -5
  10. aws_cdk/aws_codebuild/__init__.py +216 -0
  11. aws_cdk/aws_codepipeline/__init__.py +89 -28
  12. aws_cdk/aws_codepipeline_actions/__init__.py +526 -62
  13. aws_cdk/aws_cognito/__init__.py +676 -20
  14. aws_cdk/aws_ec2/__init__.py +25 -9
  15. aws_cdk/aws_ecs/__init__.py +8 -8
  16. aws_cdk/aws_eks/__init__.py +555 -179
  17. aws_cdk/aws_elasticloadbalancingv2/__init__.py +99 -0
  18. aws_cdk/aws_events/__init__.py +9 -15
  19. aws_cdk/aws_events_targets/__init__.py +303 -16
  20. aws_cdk/aws_iam/__init__.py +3 -3
  21. aws_cdk/aws_ivs/__init__.py +241 -73
  22. aws_cdk/aws_logs/__init__.py +62 -13
  23. aws_cdk/aws_pinpoint/__init__.py +14 -9
  24. aws_cdk/aws_rds/__init__.py +168 -24
  25. aws_cdk/aws_s3/__init__.py +9 -9
  26. aws_cdk/aws_stepfunctions_tasks/__init__.py +127 -21
  27. aws_cdk/pipelines/__init__.py +2 -2
  28. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/METADATA +1 -2
  29. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/RECORD +33 -34
  30. aws_cdk/lambda_layer_kubectl/__init__.py +0 -107
  31. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/LICENSE +0 -0
  32. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/NOTICE +0 -0
  33. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/WHEEL +0 -0
  34. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/top_level.txt +0 -0
@@ -100,8 +100,14 @@ class CfnChannel(
100
100
 
101
101
  cfn_channel = ivs.CfnChannel(self, "MyCfnChannel",
102
102
  authorized=False,
103
+ container_format="containerFormat",
103
104
  insecure_ingest=False,
104
105
  latency_mode="latencyMode",
106
+ multitrack_input_configuration=ivs.CfnChannel.MultitrackInputConfigurationProperty(
107
+ enabled=False,
108
+ maximum_resolution="maximumResolution",
109
+ policy="policy"
110
+ ),
105
111
  name="name",
106
112
  preset="preset",
107
113
  recording_configuration_arn="recordingConfigurationArn",
@@ -119,8 +125,10 @@ class CfnChannel(
119
125
  id: builtins.str,
120
126
  *,
121
127
  authorized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
128
+ container_format: typing.Optional[builtins.str] = None,
122
129
  insecure_ingest: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
123
130
  latency_mode: typing.Optional[builtins.str] = None,
131
+ multitrack_input_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnChannel.MultitrackInputConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
124
132
  name: typing.Optional[builtins.str] = None,
125
133
  preset: typing.Optional[builtins.str] = None,
126
134
  recording_configuration_arn: typing.Optional[builtins.str] = None,
@@ -130,14 +138,16 @@ class CfnChannel(
130
138
  '''
131
139
  :param scope: Scope in which this resource is defined.
132
140
  :param id: Construct identifier for this resource (unique in its scope).
133
- :param authorized: Whether the channel is authorized. *Default* : ``false`` Default: - false
134
- :param insecure_ingest: Whether the channel allows insecure RTMP ingest. *Default* : ``false`` Default: - false
135
- :param latency_mode: Channel latency mode. Valid values:. - ``NORMAL`` : Use NORMAL to broadcast and deliver live video up to Full HD. - ``LOW`` : Use LOW for near real-time interactions with viewers. .. epigraph:: In the console, ``LOW`` and ``NORMAL`` correspond to ``Ultra-low`` and ``Standard`` , respectively. *Default* : ``LOW`` Default: - "LOW"
136
- :param name: Channel name. Default: - "-"
137
- :param preset: An optional transcode preset for the channel. This is selectable only for ``ADVANCED_HD`` and ``ADVANCED_SD`` channel types. For those channel types, the default preset is ``HIGHER_BANDWIDTH_DELIVERY`` . For other channel types ( ``BASIC`` and ``STANDARD`` ), ``preset`` is the empty string ("").
138
- :param recording_configuration_arn: The ARN of a RecordingConfiguration resource. An empty string indicates that recording is disabled for the channel. A RecordingConfiguration ARN indicates that recording is enabled using the specified recording configuration. See the `RecordingConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html>`_ resource for more information and an example. *Default* : "" (empty string, recording is disabled) Default: - ""
139
- :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-tag.html>`_ .
140
- :param type: The channel type, which determines the allowable resolution and bitrate. *If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately.* Valid values: - ``STANDARD`` : Video is transcoded: multiple qualities are generated from the original input to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through. - ``BASIC`` : Video is transmuxed: Amazon IVS delivers the original input to viewers. The viewer’s video-quality choice is limited to the original input. Resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. - ``ADVANCED_SD`` : Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available. - ``ADVANCED_HD`` : Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available. Optional *transcode presets* (available for the ``ADVANCED`` types) allow you to trade off available download bandwidth and video quality, to optimize the viewing experience. There are two presets: - *Constrained bandwidth delivery* uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads) - *Higher bandwidth delivery* uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes). *Default* : ``STANDARD`` Default: - "STANDARD"
141
+ :param authorized: Whether the channel is authorized. Default: - false
142
+ :param container_format: Indicates which content-packaging format is used (MPEG-TS or fMP4). If multitrackInputConfiguration is specified and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4. Otherwise, containerFormat may be set to TS or FRAGMENTED_MP4. Default: TS. Default: - "TS"
143
+ :param insecure_ingest: Whether the channel allows insecure ingest. Default: - false
144
+ :param latency_mode: Channel latency mode. Default: - "LOW"
145
+ :param multitrack_input_configuration:
146
+ :param name: Channel. Default: - "-"
147
+ :param preset: Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").
148
+ :param recording_configuration_arn: Recording Configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (recording is disabled). Default: - ""
149
+ :param tags: A list of key-value pairs that contain metadata for the asset model.
150
+ :param type: Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. Default: - "STANDARD"
141
151
  '''
142
152
  if __debug__:
143
153
  type_hints = typing.get_type_hints(_typecheckingstub__998485c6924ca07e096c10b7976e238a36e5cfb75264ee66a67de472363369d6)
@@ -145,8 +155,10 @@ class CfnChannel(
145
155
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
146
156
  props = CfnChannelProps(
147
157
  authorized=authorized,
158
+ container_format=container_format,
148
159
  insecure_ingest=insecure_ingest,
149
160
  latency_mode=latency_mode,
161
+ multitrack_input_configuration=multitrack_input_configuration,
150
162
  name=name,
151
163
  preset=preset,
152
164
  recording_configuration_arn=recording_configuration_arn,
@@ -189,9 +201,7 @@ class CfnChannel(
189
201
  @builtins.property
190
202
  @jsii.member(jsii_name="attrArn")
191
203
  def attr_arn(self) -> builtins.str:
192
- '''The channel ARN.
193
-
194
- For example: ``arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh``
204
+ '''Channel ARN is automatically generated on creation and assigned as the unique identifier.
195
205
 
196
206
  :cloudformationAttribute: Arn
197
207
  '''
@@ -202,8 +212,6 @@ class CfnChannel(
202
212
  def attr_ingest_endpoint(self) -> builtins.str:
203
213
  '''Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.
204
214
 
205
- For example: ``a1b2c3d4e5f6.global-contribute.live-video.net``
206
-
207
215
  :cloudformationAttribute: IngestEndpoint
208
216
  '''
209
217
  return typing.cast(builtins.str, jsii.get(self, "attrIngestEndpoint"))
@@ -211,9 +219,7 @@ class CfnChannel(
211
219
  @builtins.property
212
220
  @jsii.member(jsii_name="attrPlaybackUrl")
213
221
  def attr_playback_url(self) -> builtins.str:
214
- '''Channel playback URL.
215
-
216
- For example: ``https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8``
222
+ '''Channel Playback URL.
217
223
 
218
224
  :cloudformationAttribute: PlaybackUrl
219
225
  '''
@@ -248,12 +254,25 @@ class CfnChannel(
248
254
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
249
255
  jsii.set(self, "authorized", value) # pyright: ignore[reportArgumentType]
250
256
 
257
+ @builtins.property
258
+ @jsii.member(jsii_name="containerFormat")
259
+ def container_format(self) -> typing.Optional[builtins.str]:
260
+ '''Indicates which content-packaging format is used (MPEG-TS or fMP4).'''
261
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "containerFormat"))
262
+
263
+ @container_format.setter
264
+ def container_format(self, value: typing.Optional[builtins.str]) -> None:
265
+ if __debug__:
266
+ type_hints = typing.get_type_hints(_typecheckingstub__c5da102677f3042d402ff70f74aee693c78470595fd1a7c9b4900403983f7b74)
267
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
268
+ jsii.set(self, "containerFormat", value) # pyright: ignore[reportArgumentType]
269
+
251
270
  @builtins.property
252
271
  @jsii.member(jsii_name="insecureIngest")
253
272
  def insecure_ingest(
254
273
  self,
255
274
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
256
- '''Whether the channel allows insecure RTMP ingest.'''
275
+ '''Whether the channel allows insecure ingest.'''
257
276
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "insecureIngest"))
258
277
 
259
278
  @insecure_ingest.setter
@@ -269,10 +288,7 @@ class CfnChannel(
269
288
  @builtins.property
270
289
  @jsii.member(jsii_name="latencyMode")
271
290
  def latency_mode(self) -> typing.Optional[builtins.str]:
272
- '''Channel latency mode.
273
-
274
- Valid values:.
275
- '''
291
+ '''Channel latency mode.'''
276
292
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "latencyMode"))
277
293
 
278
294
  @latency_mode.setter
@@ -282,10 +298,27 @@ class CfnChannel(
282
298
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
283
299
  jsii.set(self, "latencyMode", value) # pyright: ignore[reportArgumentType]
284
300
 
301
+ @builtins.property
302
+ @jsii.member(jsii_name="multitrackInputConfiguration")
303
+ def multitrack_input_configuration(
304
+ self,
305
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.MultitrackInputConfigurationProperty"]]:
306
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.MultitrackInputConfigurationProperty"]], jsii.get(self, "multitrackInputConfiguration"))
307
+
308
+ @multitrack_input_configuration.setter
309
+ def multitrack_input_configuration(
310
+ self,
311
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnChannel.MultitrackInputConfigurationProperty"]],
312
+ ) -> None:
313
+ if __debug__:
314
+ type_hints = typing.get_type_hints(_typecheckingstub__012c045fd3860567ed6aa28435a35d575d1dc0a881855d124b21f2d76102ba73)
315
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
316
+ jsii.set(self, "multitrackInputConfiguration", value) # pyright: ignore[reportArgumentType]
317
+
285
318
  @builtins.property
286
319
  @jsii.member(jsii_name="name")
287
320
  def name(self) -> typing.Optional[builtins.str]:
288
- '''Channel name.'''
321
+ '''Channel.'''
289
322
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
290
323
 
291
324
  @name.setter
@@ -298,7 +331,7 @@ class CfnChannel(
298
331
  @builtins.property
299
332
  @jsii.member(jsii_name="preset")
300
333
  def preset(self) -> typing.Optional[builtins.str]:
301
- '''An optional transcode preset for the channel.'''
334
+ '''Optional transcode preset for the channel.'''
302
335
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "preset"))
303
336
 
304
337
  @preset.setter
@@ -311,7 +344,7 @@ class CfnChannel(
311
344
  @builtins.property
312
345
  @jsii.member(jsii_name="recordingConfigurationArn")
313
346
  def recording_configuration_arn(self) -> typing.Optional[builtins.str]:
314
- '''The ARN of a RecordingConfiguration resource.'''
347
+ '''Recording Configuration ARN.'''
315
348
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "recordingConfigurationArn"))
316
349
 
317
350
  @recording_configuration_arn.setter
@@ -324,7 +357,7 @@ class CfnChannel(
324
357
  @builtins.property
325
358
  @jsii.member(jsii_name="tagsRaw")
326
359
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
327
- '''An array of key-value pairs to apply to this resource.'''
360
+ '''A list of key-value pairs that contain metadata for the asset model.'''
328
361
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
329
362
 
330
363
  @tags_raw.setter
@@ -337,7 +370,7 @@ class CfnChannel(
337
370
  @builtins.property
338
371
  @jsii.member(jsii_name="type")
339
372
  def type(self) -> typing.Optional[builtins.str]:
340
- '''The channel type, which determines the allowable resolution and bitrate.'''
373
+ '''Channel type, which determines the allowable resolution and bitrate.'''
341
374
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "type"))
342
375
 
343
376
  @type.setter
@@ -347,14 +380,114 @@ class CfnChannel(
347
380
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
348
381
  jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
349
382
 
383
+ @jsii.data_type(
384
+ jsii_type="aws-cdk-lib.aws_ivs.CfnChannel.MultitrackInputConfigurationProperty",
385
+ jsii_struct_bases=[],
386
+ name_mapping={
387
+ "enabled": "enabled",
388
+ "maximum_resolution": "maximumResolution",
389
+ "policy": "policy",
390
+ },
391
+ )
392
+ class MultitrackInputConfigurationProperty:
393
+ def __init__(
394
+ self,
395
+ *,
396
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
397
+ maximum_resolution: typing.Optional[builtins.str] = None,
398
+ policy: typing.Optional[builtins.str] = None,
399
+ ) -> None:
400
+ '''
401
+ :param enabled: Indicates whether multitrack input is enabled. Can be set to true only if channel type is STANDARD. Setting enabled to true with any other channel type will cause an exception. If true, then policy, maximumResolution, and containerFormat are required, and containerFormat must be set to FRAGMENTED_MP4. Default: false. Default: - false
402
+ :param maximum_resolution: Maximum resolution for multitrack input. Required if enabled is true.
403
+ :param policy: Indicates whether multitrack input is allowed or required. Required if enabled is true.
404
+
405
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html
406
+ :exampleMetadata: fixture=_generated
407
+
408
+ Example::
409
+
410
+ # The code below shows an example of how to instantiate this type.
411
+ # The values are placeholders you should change.
412
+ from aws_cdk import aws_ivs as ivs
413
+
414
+ multitrack_input_configuration_property = ivs.CfnChannel.MultitrackInputConfigurationProperty(
415
+ enabled=False,
416
+ maximum_resolution="maximumResolution",
417
+ policy="policy"
418
+ )
419
+ '''
420
+ if __debug__:
421
+ type_hints = typing.get_type_hints(_typecheckingstub__50f1752d428e0d083b8ac0b36e82de6eba9749ea58d877e914d9e63a503364d1)
422
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
423
+ check_type(argname="argument maximum_resolution", value=maximum_resolution, expected_type=type_hints["maximum_resolution"])
424
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
425
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
426
+ if enabled is not None:
427
+ self._values["enabled"] = enabled
428
+ if maximum_resolution is not None:
429
+ self._values["maximum_resolution"] = maximum_resolution
430
+ if policy is not None:
431
+ self._values["policy"] = policy
432
+
433
+ @builtins.property
434
+ def enabled(
435
+ self,
436
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
437
+ '''Indicates whether multitrack input is enabled.
438
+
439
+ Can be set to true only if channel type is STANDARD. Setting enabled to true with any other channel type will cause an exception. If true, then policy, maximumResolution, and containerFormat are required, and containerFormat must be set to FRAGMENTED_MP4. Default: false.
440
+
441
+ :default: - false
442
+
443
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html#cfn-ivs-channel-multitrackinputconfiguration-enabled
444
+ '''
445
+ result = self._values.get("enabled")
446
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
447
+
448
+ @builtins.property
449
+ def maximum_resolution(self) -> typing.Optional[builtins.str]:
450
+ '''Maximum resolution for multitrack input.
451
+
452
+ Required if enabled is true.
453
+
454
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html#cfn-ivs-channel-multitrackinputconfiguration-maximumresolution
455
+ '''
456
+ result = self._values.get("maximum_resolution")
457
+ return typing.cast(typing.Optional[builtins.str], result)
458
+
459
+ @builtins.property
460
+ def policy(self) -> typing.Optional[builtins.str]:
461
+ '''Indicates whether multitrack input is allowed or required.
462
+
463
+ Required if enabled is true.
464
+
465
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-multitrackinputconfiguration.html#cfn-ivs-channel-multitrackinputconfiguration-policy
466
+ '''
467
+ result = self._values.get("policy")
468
+ return typing.cast(typing.Optional[builtins.str], result)
469
+
470
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
471
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
472
+
473
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
474
+ return not (rhs == self)
475
+
476
+ def __repr__(self) -> str:
477
+ return "MultitrackInputConfigurationProperty(%s)" % ", ".join(
478
+ k + "=" + repr(v) for k, v in self._values.items()
479
+ )
480
+
350
481
 
351
482
  @jsii.data_type(
352
483
  jsii_type="aws-cdk-lib.aws_ivs.CfnChannelProps",
353
484
  jsii_struct_bases=[],
354
485
  name_mapping={
355
486
  "authorized": "authorized",
487
+ "container_format": "containerFormat",
356
488
  "insecure_ingest": "insecureIngest",
357
489
  "latency_mode": "latencyMode",
490
+ "multitrack_input_configuration": "multitrackInputConfiguration",
358
491
  "name": "name",
359
492
  "preset": "preset",
360
493
  "recording_configuration_arn": "recordingConfigurationArn",
@@ -367,8 +500,10 @@ class CfnChannelProps:
367
500
  self,
368
501
  *,
369
502
  authorized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
503
+ container_format: typing.Optional[builtins.str] = None,
370
504
  insecure_ingest: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
371
505
  latency_mode: typing.Optional[builtins.str] = None,
506
+ multitrack_input_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.MultitrackInputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
372
507
  name: typing.Optional[builtins.str] = None,
373
508
  preset: typing.Optional[builtins.str] = None,
374
509
  recording_configuration_arn: typing.Optional[builtins.str] = None,
@@ -377,14 +512,16 @@ class CfnChannelProps:
377
512
  ) -> None:
378
513
  '''Properties for defining a ``CfnChannel``.
379
514
 
380
- :param authorized: Whether the channel is authorized. *Default* : ``false`` Default: - false
381
- :param insecure_ingest: Whether the channel allows insecure RTMP ingest. *Default* : ``false`` Default: - false
382
- :param latency_mode: Channel latency mode. Valid values:. - ``NORMAL`` : Use NORMAL to broadcast and deliver live video up to Full HD. - ``LOW`` : Use LOW for near real-time interactions with viewers. .. epigraph:: In the console, ``LOW`` and ``NORMAL`` correspond to ``Ultra-low`` and ``Standard`` , respectively. *Default* : ``LOW`` Default: - "LOW"
383
- :param name: Channel name. Default: - "-"
384
- :param preset: An optional transcode preset for the channel. This is selectable only for ``ADVANCED_HD`` and ``ADVANCED_SD`` channel types. For those channel types, the default preset is ``HIGHER_BANDWIDTH_DELIVERY`` . For other channel types ( ``BASIC`` and ``STANDARD`` ), ``preset`` is the empty string ("").
385
- :param recording_configuration_arn: The ARN of a RecordingConfiguration resource. An empty string indicates that recording is disabled for the channel. A RecordingConfiguration ARN indicates that recording is enabled using the specified recording configuration. See the `RecordingConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html>`_ resource for more information and an example. *Default* : "" (empty string, recording is disabled) Default: - ""
386
- :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-tag.html>`_ .
387
- :param type: The channel type, which determines the allowable resolution and bitrate. *If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately.* Valid values: - ``STANDARD`` : Video is transcoded: multiple qualities are generated from the original input to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through. - ``BASIC`` : Video is transmuxed: Amazon IVS delivers the original input to viewers. The viewer’s video-quality choice is limited to the original input. Resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. - ``ADVANCED_SD`` : Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available. - ``ADVANCED_HD`` : Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available. Optional *transcode presets* (available for the ``ADVANCED`` types) allow you to trade off available download bandwidth and video quality, to optimize the viewing experience. There are two presets: - *Constrained bandwidth delivery* uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads) - *Higher bandwidth delivery* uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes). *Default* : ``STANDARD`` Default: - "STANDARD"
515
+ :param authorized: Whether the channel is authorized. Default: - false
516
+ :param container_format: Indicates which content-packaging format is used (MPEG-TS or fMP4). If multitrackInputConfiguration is specified and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4. Otherwise, containerFormat may be set to TS or FRAGMENTED_MP4. Default: TS. Default: - "TS"
517
+ :param insecure_ingest: Whether the channel allows insecure ingest. Default: - false
518
+ :param latency_mode: Channel latency mode. Default: - "LOW"
519
+ :param multitrack_input_configuration:
520
+ :param name: Channel. Default: - "-"
521
+ :param preset: Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").
522
+ :param recording_configuration_arn: Recording Configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (recording is disabled). Default: - ""
523
+ :param tags: A list of key-value pairs that contain metadata for the asset model.
524
+ :param type: Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. Default: - "STANDARD"
388
525
 
389
526
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html
390
527
  :exampleMetadata: fixture=_generated
@@ -397,8 +534,14 @@ class CfnChannelProps:
397
534
 
398
535
  cfn_channel_props = ivs.CfnChannelProps(
399
536
  authorized=False,
537
+ container_format="containerFormat",
400
538
  insecure_ingest=False,
401
539
  latency_mode="latencyMode",
540
+ multitrack_input_configuration=ivs.CfnChannel.MultitrackInputConfigurationProperty(
541
+ enabled=False,
542
+ maximum_resolution="maximumResolution",
543
+ policy="policy"
544
+ ),
402
545
  name="name",
403
546
  preset="preset",
404
547
  recording_configuration_arn="recordingConfigurationArn",
@@ -412,8 +555,10 @@ class CfnChannelProps:
412
555
  if __debug__:
413
556
  type_hints = typing.get_type_hints(_typecheckingstub__61646017dba4df4ec5b97fde61911670aebc6b8151847b927754a4e9c110979d)
414
557
  check_type(argname="argument authorized", value=authorized, expected_type=type_hints["authorized"])
558
+ check_type(argname="argument container_format", value=container_format, expected_type=type_hints["container_format"])
415
559
  check_type(argname="argument insecure_ingest", value=insecure_ingest, expected_type=type_hints["insecure_ingest"])
416
560
  check_type(argname="argument latency_mode", value=latency_mode, expected_type=type_hints["latency_mode"])
561
+ check_type(argname="argument multitrack_input_configuration", value=multitrack_input_configuration, expected_type=type_hints["multitrack_input_configuration"])
417
562
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
418
563
  check_type(argname="argument preset", value=preset, expected_type=type_hints["preset"])
419
564
  check_type(argname="argument recording_configuration_arn", value=recording_configuration_arn, expected_type=type_hints["recording_configuration_arn"])
@@ -422,10 +567,14 @@ class CfnChannelProps:
422
567
  self._values: typing.Dict[builtins.str, typing.Any] = {}
423
568
  if authorized is not None:
424
569
  self._values["authorized"] = authorized
570
+ if container_format is not None:
571
+ self._values["container_format"] = container_format
425
572
  if insecure_ingest is not None:
426
573
  self._values["insecure_ingest"] = insecure_ingest
427
574
  if latency_mode is not None:
428
575
  self._values["latency_mode"] = latency_mode
576
+ if multitrack_input_configuration is not None:
577
+ self._values["multitrack_input_configuration"] = multitrack_input_configuration
429
578
  if name is not None:
430
579
  self._values["name"] = name
431
580
  if preset is not None:
@@ -443,8 +592,6 @@ class CfnChannelProps:
443
592
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
444
593
  '''Whether the channel is authorized.
445
594
 
446
- *Default* : ``false``
447
-
448
595
  :default: - false
449
596
 
450
597
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-authorized
@@ -452,13 +599,24 @@ class CfnChannelProps:
452
599
  result = self._values.get("authorized")
453
600
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
454
601
 
602
+ @builtins.property
603
+ def container_format(self) -> typing.Optional[builtins.str]:
604
+ '''Indicates which content-packaging format is used (MPEG-TS or fMP4).
605
+
606
+ If multitrackInputConfiguration is specified and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4. Otherwise, containerFormat may be set to TS or FRAGMENTED_MP4. Default: TS.
607
+
608
+ :default: - "TS"
609
+
610
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-containerformat
611
+ '''
612
+ result = self._values.get("container_format")
613
+ return typing.cast(typing.Optional[builtins.str], result)
614
+
455
615
  @builtins.property
456
616
  def insecure_ingest(
457
617
  self,
458
618
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
459
- '''Whether the channel allows insecure RTMP ingest.
460
-
461
- *Default* : ``false``
619
+ '''Whether the channel allows insecure ingest.
462
620
 
463
621
  :default: - false
464
622
 
@@ -469,16 +627,7 @@ class CfnChannelProps:
469
627
 
470
628
  @builtins.property
471
629
  def latency_mode(self) -> typing.Optional[builtins.str]:
472
- '''Channel latency mode. Valid values:.
473
-
474
- - ``NORMAL`` : Use NORMAL to broadcast and deliver live video up to Full HD.
475
- - ``LOW`` : Use LOW for near real-time interactions with viewers.
476
-
477
- .. epigraph::
478
-
479
- In the console, ``LOW`` and ``NORMAL`` correspond to ``Ultra-low`` and ``Standard`` , respectively.
480
-
481
- *Default* : ``LOW``
630
+ '''Channel latency mode.
482
631
 
483
632
  :default: - "LOW"
484
633
 
@@ -487,9 +636,19 @@ class CfnChannelProps:
487
636
  result = self._values.get("latency_mode")
488
637
  return typing.cast(typing.Optional[builtins.str], result)
489
638
 
639
+ @builtins.property
640
+ def multitrack_input_configuration(
641
+ self,
642
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.MultitrackInputConfigurationProperty]]:
643
+ '''
644
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-multitrackinputconfiguration
645
+ '''
646
+ result = self._values.get("multitrack_input_configuration")
647
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.MultitrackInputConfigurationProperty]], result)
648
+
490
649
  @builtins.property
491
650
  def name(self) -> typing.Optional[builtins.str]:
492
- '''Channel name.
651
+ '''Channel.
493
652
 
494
653
  :default: - "-"
495
654
 
@@ -500,9 +659,9 @@ class CfnChannelProps:
500
659
 
501
660
  @builtins.property
502
661
  def preset(self) -> typing.Optional[builtins.str]:
503
- '''An optional transcode preset for the channel.
662
+ '''Optional transcode preset for the channel.
504
663
 
505
- This is selectable only for ``ADVANCED_HD`` and ``ADVANCED_SD`` channel types. For those channel types, the default preset is ``HIGHER_BANDWIDTH_DELIVERY`` . For other channel types ( ``BASIC`` and ``STANDARD`` ), ``preset`` is the empty string ("").
664
+ This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").
506
665
 
507
666
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-preset
508
667
  '''
@@ -511,11 +670,9 @@ class CfnChannelProps:
511
670
 
512
671
  @builtins.property
513
672
  def recording_configuration_arn(self) -> typing.Optional[builtins.str]:
514
- '''The ARN of a RecordingConfiguration resource.
673
+ '''Recording Configuration ARN.
515
674
 
516
- An empty string indicates that recording is disabled for the channel. A RecordingConfiguration ARN indicates that recording is enabled using the specified recording configuration. See the `RecordingConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html>`_ resource for more information and an example.
517
-
518
- *Default* : "" (empty string, recording is disabled)
675
+ A value other than an empty string indicates that recording is enabled. Default: "" (recording is disabled).
519
676
 
520
677
  :default: - ""
521
678
 
@@ -526,9 +683,7 @@ class CfnChannelProps:
526
683
 
527
684
  @builtins.property
528
685
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
529
- '''An array of key-value pairs to apply to this resource.
530
-
531
- For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-channel-tag.html>`_ .
686
+ '''A list of key-value pairs that contain metadata for the asset model.
532
687
 
533
688
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-tags
534
689
  '''
@@ -537,21 +692,9 @@ class CfnChannelProps:
537
692
 
538
693
  @builtins.property
539
694
  def type(self) -> typing.Optional[builtins.str]:
540
- '''The channel type, which determines the allowable resolution and bitrate.
541
-
542
- *If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately.* Valid values:
543
-
544
- - ``STANDARD`` : Video is transcoded: multiple qualities are generated from the original input to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through.
545
- - ``BASIC`` : Video is transmuxed: Amazon IVS delivers the original input to viewers. The viewer’s video-quality choice is limited to the original input. Resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p.
546
- - ``ADVANCED_SD`` : Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
547
- - ``ADVANCED_HD`` : Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
548
-
549
- Optional *transcode presets* (available for the ``ADVANCED`` types) allow you to trade off available download bandwidth and video quality, to optimize the viewing experience. There are two presets:
550
-
551
- - *Constrained bandwidth delivery* uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads)
552
- - *Higher bandwidth delivery* uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes).
695
+ '''Channel type, which determines the allowable resolution and bitrate.
553
696
 
554
- *Default* : ``STANDARD``
697
+ If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately.
555
698
 
556
699
  :default: - "STANDARD"
557
700
 
@@ -3832,8 +3975,10 @@ def _typecheckingstub__998485c6924ca07e096c10b7976e238a36e5cfb75264ee66a67de4723
3832
3975
  id: builtins.str,
3833
3976
  *,
3834
3977
  authorized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3978
+ container_format: typing.Optional[builtins.str] = None,
3835
3979
  insecure_ingest: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3836
3980
  latency_mode: typing.Optional[builtins.str] = None,
3981
+ multitrack_input_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.MultitrackInputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3837
3982
  name: typing.Optional[builtins.str] = None,
3838
3983
  preset: typing.Optional[builtins.str] = None,
3839
3984
  recording_configuration_arn: typing.Optional[builtins.str] = None,
@@ -3861,6 +4006,12 @@ def _typecheckingstub__9e83b3a70b60de37a8aabc9c019b31db83c549e80f9c9c88a5b74fde7
3861
4006
  """Type checking stubs"""
3862
4007
  pass
3863
4008
 
4009
+ def _typecheckingstub__c5da102677f3042d402ff70f74aee693c78470595fd1a7c9b4900403983f7b74(
4010
+ value: typing.Optional[builtins.str],
4011
+ ) -> None:
4012
+ """Type checking stubs"""
4013
+ pass
4014
+
3864
4015
  def _typecheckingstub__734c5e1f9cdeabe74fb1ade992399b475d1594cbcdfd026823e8984eaa2d4eab(
3865
4016
  value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3866
4017
  ) -> None:
@@ -3873,6 +4024,12 @@ def _typecheckingstub__dd2cfeff050510b655ecd39d0e3b95c3c9e2af649e77e0903ad721d0f
3873
4024
  """Type checking stubs"""
3874
4025
  pass
3875
4026
 
4027
+ def _typecheckingstub__012c045fd3860567ed6aa28435a35d575d1dc0a881855d124b21f2d76102ba73(
4028
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnChannel.MultitrackInputConfigurationProperty]],
4029
+ ) -> None:
4030
+ """Type checking stubs"""
4031
+ pass
4032
+
3876
4033
  def _typecheckingstub__15776afbbb29227b4807e807447939235926366be32ef5acc331c74f0acd9b41(
3877
4034
  value: typing.Optional[builtins.str],
3878
4035
  ) -> None:
@@ -3903,11 +4060,22 @@ def _typecheckingstub__0be9a3a6192cfd130520f4e6ecd8c9091b1a8b4312f716182989ea3fe
3903
4060
  """Type checking stubs"""
3904
4061
  pass
3905
4062
 
4063
+ def _typecheckingstub__50f1752d428e0d083b8ac0b36e82de6eba9749ea58d877e914d9e63a503364d1(
4064
+ *,
4065
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4066
+ maximum_resolution: typing.Optional[builtins.str] = None,
4067
+ policy: typing.Optional[builtins.str] = None,
4068
+ ) -> None:
4069
+ """Type checking stubs"""
4070
+ pass
4071
+
3906
4072
  def _typecheckingstub__61646017dba4df4ec5b97fde61911670aebc6b8151847b927754a4e9c110979d(
3907
4073
  *,
3908
4074
  authorized: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4075
+ container_format: typing.Optional[builtins.str] = None,
3909
4076
  insecure_ingest: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3910
4077
  latency_mode: typing.Optional[builtins.str] = None,
4078
+ multitrack_input_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnChannel.MultitrackInputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3911
4079
  name: typing.Optional[builtins.str] = None,
3912
4080
  preset: typing.Optional[builtins.str] = None,
3913
4081
  recording_configuration_arn: typing.Optional[builtins.str] = None,