aws-cdk-lib 2.142.1__py3-none-any.whl → 2.143.1__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 (49) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.142.1.jsii.tgz → aws-cdk-lib@2.143.1.jsii.tgz} +0 -0
  3. aws_cdk/aws_amplify/__init__.py +12 -5
  4. aws_cdk/aws_backup/__init__.py +3 -3
  5. aws_cdk/aws_batch/__init__.py +237 -0
  6. aws_cdk/aws_bedrock/__init__.py +700 -16
  7. aws_cdk/aws_budgets/__init__.py +282 -3
  8. aws_cdk/aws_cloudtrail/__init__.py +12 -2
  9. aws_cdk/aws_codebuild/__init__.py +44 -0
  10. aws_cdk/aws_codepipeline/__init__.py +91 -4
  11. aws_cdk/aws_cognito/__init__.py +75 -0
  12. aws_cdk/aws_datazone/__init__.py +1743 -448
  13. aws_cdk/aws_dynamodb/__init__.py +60 -25
  14. aws_cdk/aws_ec2/__init__.py +112 -39
  15. aws_cdk/aws_ecs/__init__.py +3 -3
  16. aws_cdk/aws_ecs_patterns/__init__.py +106 -0
  17. aws_cdk/aws_eks/__init__.py +13 -10
  18. aws_cdk/aws_elasticache/__init__.py +9 -0
  19. aws_cdk/aws_events/__init__.py +219 -14
  20. aws_cdk/aws_events_targets/__init__.py +140 -3
  21. aws_cdk/aws_fms/__init__.py +42 -43
  22. aws_cdk/aws_fsx/__init__.py +3 -3
  23. aws_cdk/aws_identitystore/__init__.py +11 -11
  24. aws_cdk/aws_lambda/__init__.py +45 -0
  25. aws_cdk/aws_lambda_nodejs/__init__.py +16 -6
  26. aws_cdk/aws_lightsail/__init__.py +9 -0
  27. aws_cdk/aws_location/__init__.py +8 -4
  28. aws_cdk/aws_mediaconnect/__init__.py +1789 -39
  29. aws_cdk/aws_mediatailor/__init__.py +21 -1
  30. aws_cdk/aws_mwaa/__init__.py +82 -0
  31. aws_cdk/aws_neptune/__init__.py +374 -0
  32. aws_cdk/aws_personalize/__init__.py +9 -3
  33. aws_cdk/aws_pipes/__init__.py +7 -7
  34. aws_cdk/aws_quicksight/__init__.py +684 -156
  35. aws_cdk/aws_rds/__init__.py +88 -24
  36. aws_cdk/aws_redshift/__init__.py +0 -46
  37. aws_cdk/aws_route53resolver/__init__.py +23 -0
  38. aws_cdk/aws_s3/__init__.py +4 -4
  39. aws_cdk/aws_sagemaker/__init__.py +185 -4
  40. aws_cdk/aws_securityhub/__init__.py +387 -1
  41. aws_cdk/aws_ssm/__init__.py +14 -6
  42. aws_cdk/aws_sso/__init__.py +1243 -34
  43. aws_cdk/cx_api/__init__.py +16 -0
  44. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/METADATA +1 -1
  45. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/RECORD +49 -49
  46. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/LICENSE +0 -0
  47. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/NOTICE +0 -0
  48. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/WHEEL +0 -0
  49. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/top_level.txt +0 -0
@@ -2363,6 +2363,19 @@ class CfnFlow(
2363
2363
  ingest_port=123,
2364
2364
  max_bitrate=123,
2365
2365
  max_latency=123,
2366
+ max_sync_buffer=123,
2367
+ media_stream_source_configurations=[mediaconnect.CfnFlow.MediaStreamSourceConfigurationProperty(
2368
+ encoding_name="encodingName",
2369
+ media_stream_name="mediaStreamName",
2370
+
2371
+ # the properties below are optional
2372
+ input_configurations=[mediaconnect.CfnFlow.InputConfigurationProperty(
2373
+ input_port=123,
2374
+ interface=mediaconnect.CfnFlow.InterfaceProperty(
2375
+ name="name"
2376
+ )
2377
+ )]
2378
+ )],
2366
2379
  min_latency=123,
2367
2380
  name="name",
2368
2381
  protocol="protocol",
@@ -2379,6 +2392,33 @@ class CfnFlow(
2379
2392
 
2380
2393
  # the properties below are optional
2381
2394
  availability_zone="availabilityZone",
2395
+ maintenance=mediaconnect.CfnFlow.MaintenanceProperty(
2396
+ maintenance_day="maintenanceDay",
2397
+ maintenance_start_hour="maintenanceStartHour"
2398
+ ),
2399
+ media_streams=[mediaconnect.CfnFlow.MediaStreamProperty(
2400
+ media_stream_id=123,
2401
+ media_stream_name="mediaStreamName",
2402
+ media_stream_type="mediaStreamType",
2403
+
2404
+ # the properties below are optional
2405
+ attributes=mediaconnect.CfnFlow.MediaStreamAttributesProperty(
2406
+ fmtp=mediaconnect.CfnFlow.FmtpProperty(
2407
+ channel_order="channelOrder",
2408
+ colorimetry="colorimetry",
2409
+ exact_framerate="exactFramerate",
2410
+ par="par",
2411
+ range="range",
2412
+ scan_mode="scanMode",
2413
+ tcs="tcs"
2414
+ ),
2415
+ lang="lang"
2416
+ ),
2417
+ clock_rate=123,
2418
+ description="description",
2419
+ fmt=123,
2420
+ video_format="videoFormat"
2421
+ )],
2382
2422
  source_failover_config=mediaconnect.CfnFlow.FailoverConfigProperty(
2383
2423
  failover_mode="failoverMode",
2384
2424
  recovery_window=123,
@@ -2386,7 +2426,17 @@ class CfnFlow(
2386
2426
  primary_source="primarySource"
2387
2427
  ),
2388
2428
  state="state"
2389
- )
2429
+ ),
2430
+ vpc_interfaces=[mediaconnect.CfnFlow.VpcInterfaceProperty(
2431
+ name="name",
2432
+ role_arn="roleArn",
2433
+ security_group_ids=["securityGroupIds"],
2434
+ subnet_id="subnetId",
2435
+
2436
+ # the properties below are optional
2437
+ network_interface_ids=["networkInterfaceIds"],
2438
+ network_interface_type="networkInterfaceType"
2439
+ )]
2390
2440
  )
2391
2441
  '''
2392
2442
 
@@ -2398,7 +2448,10 @@ class CfnFlow(
2398
2448
  name: builtins.str,
2399
2449
  source: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.SourceProperty", typing.Dict[builtins.str, typing.Any]]],
2400
2450
  availability_zone: typing.Optional[builtins.str] = None,
2451
+ maintenance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.MaintenanceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2452
+ media_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.MediaStreamProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2401
2453
  source_failover_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.FailoverConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2454
+ vpc_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.VpcInterfaceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2402
2455
  ) -> None:
2403
2456
  '''
2404
2457
  :param scope: Scope in which this resource is defined.
@@ -2406,7 +2459,10 @@ class CfnFlow(
2406
2459
  :param name: The name of the flow.
2407
2460
  :param source: The settings for the source that you want to use for the new flow.
2408
2461
  :param availability_zone: The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.
2462
+ :param maintenance: The maintenance settings you want to use for the flow.
2463
+ :param media_streams: The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow.
2409
2464
  :param source_failover_config: The settings for source failover.
2465
+ :param vpc_interfaces: The VPC interfaces that you added to this flow.
2410
2466
  '''
2411
2467
  if __debug__:
2412
2468
  type_hints = typing.get_type_hints(_typecheckingstub__3568a95be2a886825b3db731f10e2fdea8be142c554d1e2055d7e22f5e6a3991)
@@ -2416,7 +2472,10 @@ class CfnFlow(
2416
2472
  name=name,
2417
2473
  source=source,
2418
2474
  availability_zone=availability_zone,
2475
+ maintenance=maintenance,
2476
+ media_streams=media_streams,
2419
2477
  source_failover_config=source_failover_config,
2478
+ vpc_interfaces=vpc_interfaces,
2420
2479
  )
2421
2480
 
2422
2481
  jsii.create(self.__class__, self, [scope, id, props])
@@ -2451,6 +2510,15 @@ class CfnFlow(
2451
2510
  '''The CloudFormation resource type name for this resource class.'''
2452
2511
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2453
2512
 
2513
+ @builtins.property
2514
+ @jsii.member(jsii_name="attrEgressIp")
2515
+ def attr_egress_ip(self) -> builtins.str:
2516
+ '''The outgoing IP address that MediaConnect uses to send video from the flow.
2517
+
2518
+ :cloudformationAttribute: EgressIp
2519
+ '''
2520
+ return typing.cast(builtins.str, jsii.get(self, "attrEgressIp"))
2521
+
2454
2522
  @builtins.property
2455
2523
  @jsii.member(jsii_name="attrFlowArn")
2456
2524
  def attr_flow_arn(self) -> builtins.str:
@@ -2547,6 +2615,42 @@ class CfnFlow(
2547
2615
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2548
2616
  jsii.set(self, "availabilityZone", value)
2549
2617
 
2618
+ @builtins.property
2619
+ @jsii.member(jsii_name="maintenance")
2620
+ def maintenance(
2621
+ self,
2622
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.MaintenanceProperty"]]:
2623
+ '''The maintenance settings you want to use for the flow.'''
2624
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.MaintenanceProperty"]], jsii.get(self, "maintenance"))
2625
+
2626
+ @maintenance.setter
2627
+ def maintenance(
2628
+ self,
2629
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.MaintenanceProperty"]],
2630
+ ) -> None:
2631
+ if __debug__:
2632
+ type_hints = typing.get_type_hints(_typecheckingstub__ddd188e9c2d5f8f194cf0b4c16e8b355b0ebcec43d953e6b0c8b77128e640aab)
2633
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2634
+ jsii.set(self, "maintenance", value)
2635
+
2636
+ @builtins.property
2637
+ @jsii.member(jsii_name="mediaStreams")
2638
+ def media_streams(
2639
+ self,
2640
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.MediaStreamProperty"]]]]:
2641
+ '''The media streams associated with the flow.'''
2642
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.MediaStreamProperty"]]]], jsii.get(self, "mediaStreams"))
2643
+
2644
+ @media_streams.setter
2645
+ def media_streams(
2646
+ self,
2647
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.MediaStreamProperty"]]]],
2648
+ ) -> None:
2649
+ if __debug__:
2650
+ type_hints = typing.get_type_hints(_typecheckingstub__c580931c160d15b8c0f43f0fe96dc390b640ae81cbc1900b00f369aaa3c3f6e4)
2651
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2652
+ jsii.set(self, "mediaStreams", value)
2653
+
2550
2654
  @builtins.property
2551
2655
  @jsii.member(jsii_name="sourceFailoverConfig")
2552
2656
  def source_failover_config(
@@ -2565,6 +2669,24 @@ class CfnFlow(
2565
2669
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2566
2670
  jsii.set(self, "sourceFailoverConfig", value)
2567
2671
 
2672
+ @builtins.property
2673
+ @jsii.member(jsii_name="vpcInterfaces")
2674
+ def vpc_interfaces(
2675
+ self,
2676
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.VpcInterfaceProperty"]]]]:
2677
+ '''The VPC interfaces that you added to this flow.'''
2678
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.VpcInterfaceProperty"]]]], jsii.get(self, "vpcInterfaces"))
2679
+
2680
+ @vpc_interfaces.setter
2681
+ def vpc_interfaces(
2682
+ self,
2683
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.VpcInterfaceProperty"]]]],
2684
+ ) -> None:
2685
+ if __debug__:
2686
+ type_hints = typing.get_type_hints(_typecheckingstub__7e75424871a1b67422fa8fe727bf0720abe8ea217c131244844ca71d14e25f4d)
2687
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2688
+ jsii.set(self, "vpcInterfaces", value)
2689
+
2568
2690
  @jsii.data_type(
2569
2691
  jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.EncryptionProperty",
2570
2692
  jsii_struct_bases=[],
@@ -2886,6 +3008,161 @@ class CfnFlow(
2886
3008
  k + "=" + repr(v) for k, v in self._values.items()
2887
3009
  )
2888
3010
 
3011
+ @jsii.data_type(
3012
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.FmtpProperty",
3013
+ jsii_struct_bases=[],
3014
+ name_mapping={
3015
+ "channel_order": "channelOrder",
3016
+ "colorimetry": "colorimetry",
3017
+ "exact_framerate": "exactFramerate",
3018
+ "par": "par",
3019
+ "range": "range",
3020
+ "scan_mode": "scanMode",
3021
+ "tcs": "tcs",
3022
+ },
3023
+ )
3024
+ class FmtpProperty:
3025
+ def __init__(
3026
+ self,
3027
+ *,
3028
+ channel_order: typing.Optional[builtins.str] = None,
3029
+ colorimetry: typing.Optional[builtins.str] = None,
3030
+ exact_framerate: typing.Optional[builtins.str] = None,
3031
+ par: typing.Optional[builtins.str] = None,
3032
+ range: typing.Optional[builtins.str] = None,
3033
+ scan_mode: typing.Optional[builtins.str] = None,
3034
+ tcs: typing.Optional[builtins.str] = None,
3035
+ ) -> None:
3036
+ '''A set of parameters that define the media stream.
3037
+
3038
+ :param channel_order: The format of the audio channel.
3039
+ :param colorimetry: The format used for the representation of color.
3040
+ :param exact_framerate: The frame rate for the video stream, in frames/second. For example: 60000/1001.
3041
+ :param par: The pixel aspect ratio (PAR) of the video.
3042
+ :param range: The encoding range of the video.
3043
+ :param scan_mode: The type of compression that was used to smooth the video’s appearance.
3044
+ :param tcs: The transfer characteristic system (TCS) that is used in the video.
3045
+
3046
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html
3047
+ :exampleMetadata: fixture=_generated
3048
+
3049
+ Example::
3050
+
3051
+ # The code below shows an example of how to instantiate this type.
3052
+ # The values are placeholders you should change.
3053
+ from aws_cdk import aws_mediaconnect as mediaconnect
3054
+
3055
+ fmtp_property = mediaconnect.CfnFlow.FmtpProperty(
3056
+ channel_order="channelOrder",
3057
+ colorimetry="colorimetry",
3058
+ exact_framerate="exactFramerate",
3059
+ par="par",
3060
+ range="range",
3061
+ scan_mode="scanMode",
3062
+ tcs="tcs"
3063
+ )
3064
+ '''
3065
+ if __debug__:
3066
+ type_hints = typing.get_type_hints(_typecheckingstub__2c34da6d27a4d46f87384739bd6ec7bcc9bf7866bb051703aa63a4b21e8b38dc)
3067
+ check_type(argname="argument channel_order", value=channel_order, expected_type=type_hints["channel_order"])
3068
+ check_type(argname="argument colorimetry", value=colorimetry, expected_type=type_hints["colorimetry"])
3069
+ check_type(argname="argument exact_framerate", value=exact_framerate, expected_type=type_hints["exact_framerate"])
3070
+ check_type(argname="argument par", value=par, expected_type=type_hints["par"])
3071
+ check_type(argname="argument range", value=range, expected_type=type_hints["range"])
3072
+ check_type(argname="argument scan_mode", value=scan_mode, expected_type=type_hints["scan_mode"])
3073
+ check_type(argname="argument tcs", value=tcs, expected_type=type_hints["tcs"])
3074
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3075
+ if channel_order is not None:
3076
+ self._values["channel_order"] = channel_order
3077
+ if colorimetry is not None:
3078
+ self._values["colorimetry"] = colorimetry
3079
+ if exact_framerate is not None:
3080
+ self._values["exact_framerate"] = exact_framerate
3081
+ if par is not None:
3082
+ self._values["par"] = par
3083
+ if range is not None:
3084
+ self._values["range"] = range
3085
+ if scan_mode is not None:
3086
+ self._values["scan_mode"] = scan_mode
3087
+ if tcs is not None:
3088
+ self._values["tcs"] = tcs
3089
+
3090
+ @builtins.property
3091
+ def channel_order(self) -> typing.Optional[builtins.str]:
3092
+ '''The format of the audio channel.
3093
+
3094
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html#cfn-mediaconnect-flow-fmtp-channelorder
3095
+ '''
3096
+ result = self._values.get("channel_order")
3097
+ return typing.cast(typing.Optional[builtins.str], result)
3098
+
3099
+ @builtins.property
3100
+ def colorimetry(self) -> typing.Optional[builtins.str]:
3101
+ '''The format used for the representation of color.
3102
+
3103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html#cfn-mediaconnect-flow-fmtp-colorimetry
3104
+ '''
3105
+ result = self._values.get("colorimetry")
3106
+ return typing.cast(typing.Optional[builtins.str], result)
3107
+
3108
+ @builtins.property
3109
+ def exact_framerate(self) -> typing.Optional[builtins.str]:
3110
+ '''The frame rate for the video stream, in frames/second.
3111
+
3112
+ For example: 60000/1001.
3113
+
3114
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html#cfn-mediaconnect-flow-fmtp-exactframerate
3115
+ '''
3116
+ result = self._values.get("exact_framerate")
3117
+ return typing.cast(typing.Optional[builtins.str], result)
3118
+
3119
+ @builtins.property
3120
+ def par(self) -> typing.Optional[builtins.str]:
3121
+ '''The pixel aspect ratio (PAR) of the video.
3122
+
3123
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html#cfn-mediaconnect-flow-fmtp-par
3124
+ '''
3125
+ result = self._values.get("par")
3126
+ return typing.cast(typing.Optional[builtins.str], result)
3127
+
3128
+ @builtins.property
3129
+ def range(self) -> typing.Optional[builtins.str]:
3130
+ '''The encoding range of the video.
3131
+
3132
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html#cfn-mediaconnect-flow-fmtp-range
3133
+ '''
3134
+ result = self._values.get("range")
3135
+ return typing.cast(typing.Optional[builtins.str], result)
3136
+
3137
+ @builtins.property
3138
+ def scan_mode(self) -> typing.Optional[builtins.str]:
3139
+ '''The type of compression that was used to smooth the video’s appearance.
3140
+
3141
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html#cfn-mediaconnect-flow-fmtp-scanmode
3142
+ '''
3143
+ result = self._values.get("scan_mode")
3144
+ return typing.cast(typing.Optional[builtins.str], result)
3145
+
3146
+ @builtins.property
3147
+ def tcs(self) -> typing.Optional[builtins.str]:
3148
+ '''The transfer characteristic system (TCS) that is used in the video.
3149
+
3150
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html#cfn-mediaconnect-flow-fmtp-tcs
3151
+ '''
3152
+ result = self._values.get("tcs")
3153
+ return typing.cast(typing.Optional[builtins.str], result)
3154
+
3155
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3156
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3157
+
3158
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3159
+ return not (rhs == self)
3160
+
3161
+ def __repr__(self) -> str:
3162
+ return "FmtpProperty(%s)" % ", ".join(
3163
+ k + "=" + repr(v) for k, v in self._values.items()
3164
+ )
3165
+
2889
3166
  @jsii.data_type(
2890
3167
  jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.GatewayBridgeSourceProperty",
2891
3168
  jsii_struct_bases=[],
@@ -2919,41 +3196,628 @@ class CfnFlow(
2919
3196
  bridge_arn="bridgeArn",
2920
3197
 
2921
3198
  # the properties below are optional
2922
- vpc_interface_attachment=mediaconnect.CfnFlow.VpcInterfaceAttachmentProperty(
2923
- vpc_interface_name="vpcInterfaceName"
2924
- )
3199
+ vpc_interface_attachment=mediaconnect.CfnFlow.VpcInterfaceAttachmentProperty(
3200
+ vpc_interface_name="vpcInterfaceName"
3201
+ )
3202
+ )
3203
+ '''
3204
+ if __debug__:
3205
+ type_hints = typing.get_type_hints(_typecheckingstub__00bf15dc37f493c33d6b2109cfa6283d2bb14bdc23b0ae4fd75a67ca60084ea8)
3206
+ check_type(argname="argument bridge_arn", value=bridge_arn, expected_type=type_hints["bridge_arn"])
3207
+ check_type(argname="argument vpc_interface_attachment", value=vpc_interface_attachment, expected_type=type_hints["vpc_interface_attachment"])
3208
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3209
+ "bridge_arn": bridge_arn,
3210
+ }
3211
+ if vpc_interface_attachment is not None:
3212
+ self._values["vpc_interface_attachment"] = vpc_interface_attachment
3213
+
3214
+ @builtins.property
3215
+ def bridge_arn(self) -> builtins.str:
3216
+ '''The ARN of the bridge feeding this flow.
3217
+
3218
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-gatewaybridgesource.html#cfn-mediaconnect-flow-gatewaybridgesource-bridgearn
3219
+ '''
3220
+ result = self._values.get("bridge_arn")
3221
+ assert result is not None, "Required property 'bridge_arn' is missing"
3222
+ return typing.cast(builtins.str, result)
3223
+
3224
+ @builtins.property
3225
+ def vpc_interface_attachment(
3226
+ self,
3227
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.VpcInterfaceAttachmentProperty"]]:
3228
+ '''The name of the VPC interface attachment to use for this bridge source.
3229
+
3230
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-gatewaybridgesource.html#cfn-mediaconnect-flow-gatewaybridgesource-vpcinterfaceattachment
3231
+ '''
3232
+ result = self._values.get("vpc_interface_attachment")
3233
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.VpcInterfaceAttachmentProperty"]], result)
3234
+
3235
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3236
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3237
+
3238
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3239
+ return not (rhs == self)
3240
+
3241
+ def __repr__(self) -> str:
3242
+ return "GatewayBridgeSourceProperty(%s)" % ", ".join(
3243
+ k + "=" + repr(v) for k, v in self._values.items()
3244
+ )
3245
+
3246
+ @jsii.data_type(
3247
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.InputConfigurationProperty",
3248
+ jsii_struct_bases=[],
3249
+ name_mapping={"input_port": "inputPort", "interface": "interface"},
3250
+ )
3251
+ class InputConfigurationProperty:
3252
+ def __init__(
3253
+ self,
3254
+ *,
3255
+ input_port: jsii.Number,
3256
+ interface: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.InterfaceProperty", typing.Dict[builtins.str, typing.Any]]],
3257
+ ) -> None:
3258
+ '''The transport parameters associated with an incoming media stream.
3259
+
3260
+ :param input_port: The port that the flow listens on for an incoming media stream.
3261
+ :param interface: The VPC interface where the media stream comes in from.
3262
+
3263
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-inputconfiguration.html
3264
+ :exampleMetadata: fixture=_generated
3265
+
3266
+ Example::
3267
+
3268
+ # The code below shows an example of how to instantiate this type.
3269
+ # The values are placeholders you should change.
3270
+ from aws_cdk import aws_mediaconnect as mediaconnect
3271
+
3272
+ input_configuration_property = mediaconnect.CfnFlow.InputConfigurationProperty(
3273
+ input_port=123,
3274
+ interface=mediaconnect.CfnFlow.InterfaceProperty(
3275
+ name="name"
3276
+ )
3277
+ )
3278
+ '''
3279
+ if __debug__:
3280
+ type_hints = typing.get_type_hints(_typecheckingstub__fbb4a04e87ed2fedc67d03bbbab23670facee0c55014d0c5d234881ded41ec58)
3281
+ check_type(argname="argument input_port", value=input_port, expected_type=type_hints["input_port"])
3282
+ check_type(argname="argument interface", value=interface, expected_type=type_hints["interface"])
3283
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3284
+ "input_port": input_port,
3285
+ "interface": interface,
3286
+ }
3287
+
3288
+ @builtins.property
3289
+ def input_port(self) -> jsii.Number:
3290
+ '''The port that the flow listens on for an incoming media stream.
3291
+
3292
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-inputconfiguration.html#cfn-mediaconnect-flow-inputconfiguration-inputport
3293
+ '''
3294
+ result = self._values.get("input_port")
3295
+ assert result is not None, "Required property 'input_port' is missing"
3296
+ return typing.cast(jsii.Number, result)
3297
+
3298
+ @builtins.property
3299
+ def interface(
3300
+ self,
3301
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnFlow.InterfaceProperty"]:
3302
+ '''The VPC interface where the media stream comes in from.
3303
+
3304
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-inputconfiguration.html#cfn-mediaconnect-flow-inputconfiguration-interface
3305
+ '''
3306
+ result = self._values.get("interface")
3307
+ assert result is not None, "Required property 'interface' is missing"
3308
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnFlow.InterfaceProperty"], result)
3309
+
3310
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3311
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3312
+
3313
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3314
+ return not (rhs == self)
3315
+
3316
+ def __repr__(self) -> str:
3317
+ return "InputConfigurationProperty(%s)" % ", ".join(
3318
+ k + "=" + repr(v) for k, v in self._values.items()
3319
+ )
3320
+
3321
+ @jsii.data_type(
3322
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.InterfaceProperty",
3323
+ jsii_struct_bases=[],
3324
+ name_mapping={"name": "name"},
3325
+ )
3326
+ class InterfaceProperty:
3327
+ def __init__(self, *, name: builtins.str) -> None:
3328
+ '''The VPC interface that you want to use for the media stream associated with the output.
3329
+
3330
+ :param name: The name of the VPC interface that you want to use for the media stream associated with the output.
3331
+
3332
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-interface.html
3333
+ :exampleMetadata: fixture=_generated
3334
+
3335
+ Example::
3336
+
3337
+ # The code below shows an example of how to instantiate this type.
3338
+ # The values are placeholders you should change.
3339
+ from aws_cdk import aws_mediaconnect as mediaconnect
3340
+
3341
+ interface_property = mediaconnect.CfnFlow.InterfaceProperty(
3342
+ name="name"
3343
+ )
3344
+ '''
3345
+ if __debug__:
3346
+ type_hints = typing.get_type_hints(_typecheckingstub__0ca0a6498a5e542f31081d78420cae2b37457c94dbd68dcead2dc4af50843b27)
3347
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3348
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3349
+ "name": name,
3350
+ }
3351
+
3352
+ @builtins.property
3353
+ def name(self) -> builtins.str:
3354
+ '''The name of the VPC interface that you want to use for the media stream associated with the output.
3355
+
3356
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-interface.html#cfn-mediaconnect-flow-interface-name
3357
+ '''
3358
+ result = self._values.get("name")
3359
+ assert result is not None, "Required property 'name' is missing"
3360
+ return typing.cast(builtins.str, result)
3361
+
3362
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3363
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3364
+
3365
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3366
+ return not (rhs == self)
3367
+
3368
+ def __repr__(self) -> str:
3369
+ return "InterfaceProperty(%s)" % ", ".join(
3370
+ k + "=" + repr(v) for k, v in self._values.items()
3371
+ )
3372
+
3373
+ @jsii.data_type(
3374
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.MaintenanceProperty",
3375
+ jsii_struct_bases=[],
3376
+ name_mapping={
3377
+ "maintenance_day": "maintenanceDay",
3378
+ "maintenance_start_hour": "maintenanceStartHour",
3379
+ },
3380
+ )
3381
+ class MaintenanceProperty:
3382
+ def __init__(
3383
+ self,
3384
+ *,
3385
+ maintenance_day: builtins.str,
3386
+ maintenance_start_hour: builtins.str,
3387
+ ) -> None:
3388
+ '''The maintenance setting of a flow.
3389
+
3390
+ MediaConnect routinely performs maintenance on underlying systems for security, reliability, and operational performance. The maintenance activities include actions such as patching the operating system, updating drivers, or installing software and patches.
3391
+
3392
+ You can select the day and time that maintenance events occur. This is called a maintenance window and is used every time a maintenance event is required. To change the day and time, you can edit the maintenance window using ``MaintenanceDay`` and ``MaintenanceStartHour`` .
3393
+
3394
+ :param maintenance_day: A day of a week when the maintenance will happen. Use Monday/Tuesday/Wednesday/Thursday/Friday/Saturday/Sunday.
3395
+ :param maintenance_start_hour: UTC time when the maintenance will happen. Use 24-hour HH:MM format. Minutes must be 00. Example: 13:00. The default value is 02:00.
3396
+
3397
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-maintenance.html
3398
+ :exampleMetadata: fixture=_generated
3399
+
3400
+ Example::
3401
+
3402
+ # The code below shows an example of how to instantiate this type.
3403
+ # The values are placeholders you should change.
3404
+ from aws_cdk import aws_mediaconnect as mediaconnect
3405
+
3406
+ maintenance_property = mediaconnect.CfnFlow.MaintenanceProperty(
3407
+ maintenance_day="maintenanceDay",
3408
+ maintenance_start_hour="maintenanceStartHour"
3409
+ )
3410
+ '''
3411
+ if __debug__:
3412
+ type_hints = typing.get_type_hints(_typecheckingstub__57efc1d88b4fa5a6e6df4c17678237b4420bf63b5cd14e340198e67ed5a1ee60)
3413
+ check_type(argname="argument maintenance_day", value=maintenance_day, expected_type=type_hints["maintenance_day"])
3414
+ check_type(argname="argument maintenance_start_hour", value=maintenance_start_hour, expected_type=type_hints["maintenance_start_hour"])
3415
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3416
+ "maintenance_day": maintenance_day,
3417
+ "maintenance_start_hour": maintenance_start_hour,
3418
+ }
3419
+
3420
+ @builtins.property
3421
+ def maintenance_day(self) -> builtins.str:
3422
+ '''A day of a week when the maintenance will happen.
3423
+
3424
+ Use Monday/Tuesday/Wednesday/Thursday/Friday/Saturday/Sunday.
3425
+
3426
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-maintenance.html#cfn-mediaconnect-flow-maintenance-maintenanceday
3427
+ '''
3428
+ result = self._values.get("maintenance_day")
3429
+ assert result is not None, "Required property 'maintenance_day' is missing"
3430
+ return typing.cast(builtins.str, result)
3431
+
3432
+ @builtins.property
3433
+ def maintenance_start_hour(self) -> builtins.str:
3434
+ '''UTC time when the maintenance will happen.
3435
+
3436
+ Use 24-hour HH:MM format. Minutes must be 00. Example: 13:00. The default value is 02:00.
3437
+
3438
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-maintenance.html#cfn-mediaconnect-flow-maintenance-maintenancestarthour
3439
+ '''
3440
+ result = self._values.get("maintenance_start_hour")
3441
+ assert result is not None, "Required property 'maintenance_start_hour' is missing"
3442
+ return typing.cast(builtins.str, result)
3443
+
3444
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3445
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3446
+
3447
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3448
+ return not (rhs == self)
3449
+
3450
+ def __repr__(self) -> str:
3451
+ return "MaintenanceProperty(%s)" % ", ".join(
3452
+ k + "=" + repr(v) for k, v in self._values.items()
3453
+ )
3454
+
3455
+ @jsii.data_type(
3456
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.MediaStreamAttributesProperty",
3457
+ jsii_struct_bases=[],
3458
+ name_mapping={"fmtp": "fmtp", "lang": "lang"},
3459
+ )
3460
+ class MediaStreamAttributesProperty:
3461
+ def __init__(
3462
+ self,
3463
+ *,
3464
+ fmtp: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.FmtpProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3465
+ lang: typing.Optional[builtins.str] = None,
3466
+ ) -> None:
3467
+ '''Attributes that are related to the media stream.
3468
+
3469
+ :param fmtp: A set of parameters that define the media stream.
3470
+ :param lang: The audio language, in a format that is recognized by the receiver.
3471
+
3472
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastreamattributes.html
3473
+ :exampleMetadata: fixture=_generated
3474
+
3475
+ Example::
3476
+
3477
+ # The code below shows an example of how to instantiate this type.
3478
+ # The values are placeholders you should change.
3479
+ from aws_cdk import aws_mediaconnect as mediaconnect
3480
+
3481
+ media_stream_attributes_property = mediaconnect.CfnFlow.MediaStreamAttributesProperty(
3482
+ fmtp=mediaconnect.CfnFlow.FmtpProperty(
3483
+ channel_order="channelOrder",
3484
+ colorimetry="colorimetry",
3485
+ exact_framerate="exactFramerate",
3486
+ par="par",
3487
+ range="range",
3488
+ scan_mode="scanMode",
3489
+ tcs="tcs"
3490
+ ),
3491
+ lang="lang"
3492
+ )
3493
+ '''
3494
+ if __debug__:
3495
+ type_hints = typing.get_type_hints(_typecheckingstub__98c9c952274e74dd38a0129bccf9e3c8688c812151f95c826ce99e20158cfe87)
3496
+ check_type(argname="argument fmtp", value=fmtp, expected_type=type_hints["fmtp"])
3497
+ check_type(argname="argument lang", value=lang, expected_type=type_hints["lang"])
3498
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3499
+ if fmtp is not None:
3500
+ self._values["fmtp"] = fmtp
3501
+ if lang is not None:
3502
+ self._values["lang"] = lang
3503
+
3504
+ @builtins.property
3505
+ def fmtp(
3506
+ self,
3507
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.FmtpProperty"]]:
3508
+ '''A set of parameters that define the media stream.
3509
+
3510
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastreamattributes.html#cfn-mediaconnect-flow-mediastreamattributes-fmtp
3511
+ '''
3512
+ result = self._values.get("fmtp")
3513
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.FmtpProperty"]], result)
3514
+
3515
+ @builtins.property
3516
+ def lang(self) -> typing.Optional[builtins.str]:
3517
+ '''The audio language, in a format that is recognized by the receiver.
3518
+
3519
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastreamattributes.html#cfn-mediaconnect-flow-mediastreamattributes-lang
3520
+ '''
3521
+ result = self._values.get("lang")
3522
+ return typing.cast(typing.Optional[builtins.str], result)
3523
+
3524
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3525
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3526
+
3527
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3528
+ return not (rhs == self)
3529
+
3530
+ def __repr__(self) -> str:
3531
+ return "MediaStreamAttributesProperty(%s)" % ", ".join(
3532
+ k + "=" + repr(v) for k, v in self._values.items()
3533
+ )
3534
+
3535
+ @jsii.data_type(
3536
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.MediaStreamProperty",
3537
+ jsii_struct_bases=[],
3538
+ name_mapping={
3539
+ "media_stream_id": "mediaStreamId",
3540
+ "media_stream_name": "mediaStreamName",
3541
+ "media_stream_type": "mediaStreamType",
3542
+ "attributes": "attributes",
3543
+ "clock_rate": "clockRate",
3544
+ "description": "description",
3545
+ "fmt": "fmt",
3546
+ "video_format": "videoFormat",
3547
+ },
3548
+ )
3549
+ class MediaStreamProperty:
3550
+ def __init__(
3551
+ self,
3552
+ *,
3553
+ media_stream_id: jsii.Number,
3554
+ media_stream_name: builtins.str,
3555
+ media_stream_type: builtins.str,
3556
+ attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.MediaStreamAttributesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3557
+ clock_rate: typing.Optional[jsii.Number] = None,
3558
+ description: typing.Optional[builtins.str] = None,
3559
+ fmt: typing.Optional[jsii.Number] = None,
3560
+ video_format: typing.Optional[builtins.str] = None,
3561
+ ) -> None:
3562
+ '''A single track or stream of media that contains video, audio, or ancillary data.
3563
+
3564
+ After you add a media stream to a flow, you can associate it with sources and outputs on that flow, as long as they use the CDI protocol or the ST 2110 JPEG XS protocol. Each source or output can consist of one or many media streams.
3565
+
3566
+ :param media_stream_id: A unique identifier for the media stream.
3567
+ :param media_stream_name: A name that helps you distinguish one media stream from another.
3568
+ :param media_stream_type: The type of media stream.
3569
+ :param attributes: Attributes that are related to the media stream.
3570
+ :param clock_rate: The sample rate for the stream. This value in measured in kHz.
3571
+ :param description: A description that can help you quickly identify what your media stream is used for.
3572
+ :param fmt: The format type number (sometimes referred to as RTP payload type) of the media stream. MediaConnect assigns this value to the media stream. For ST 2110 JPEG XS outputs, you need to provide this value to the receiver.
3573
+ :param video_format: The resolution of the video.
3574
+
3575
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html
3576
+ :exampleMetadata: fixture=_generated
3577
+
3578
+ Example::
3579
+
3580
+ # The code below shows an example of how to instantiate this type.
3581
+ # The values are placeholders you should change.
3582
+ from aws_cdk import aws_mediaconnect as mediaconnect
3583
+
3584
+ media_stream_property = mediaconnect.CfnFlow.MediaStreamProperty(
3585
+ media_stream_id=123,
3586
+ media_stream_name="mediaStreamName",
3587
+ media_stream_type="mediaStreamType",
3588
+
3589
+ # the properties below are optional
3590
+ attributes=mediaconnect.CfnFlow.MediaStreamAttributesProperty(
3591
+ fmtp=mediaconnect.CfnFlow.FmtpProperty(
3592
+ channel_order="channelOrder",
3593
+ colorimetry="colorimetry",
3594
+ exact_framerate="exactFramerate",
3595
+ par="par",
3596
+ range="range",
3597
+ scan_mode="scanMode",
3598
+ tcs="tcs"
3599
+ ),
3600
+ lang="lang"
3601
+ ),
3602
+ clock_rate=123,
3603
+ description="description",
3604
+ fmt=123,
3605
+ video_format="videoFormat"
3606
+ )
3607
+ '''
3608
+ if __debug__:
3609
+ type_hints = typing.get_type_hints(_typecheckingstub__bc935e241ba7a00b3f70633b9ca54a5bca516c17065e6c6d8eeb7ab2523359be)
3610
+ check_type(argname="argument media_stream_id", value=media_stream_id, expected_type=type_hints["media_stream_id"])
3611
+ check_type(argname="argument media_stream_name", value=media_stream_name, expected_type=type_hints["media_stream_name"])
3612
+ check_type(argname="argument media_stream_type", value=media_stream_type, expected_type=type_hints["media_stream_type"])
3613
+ check_type(argname="argument attributes", value=attributes, expected_type=type_hints["attributes"])
3614
+ check_type(argname="argument clock_rate", value=clock_rate, expected_type=type_hints["clock_rate"])
3615
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3616
+ check_type(argname="argument fmt", value=fmt, expected_type=type_hints["fmt"])
3617
+ check_type(argname="argument video_format", value=video_format, expected_type=type_hints["video_format"])
3618
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3619
+ "media_stream_id": media_stream_id,
3620
+ "media_stream_name": media_stream_name,
3621
+ "media_stream_type": media_stream_type,
3622
+ }
3623
+ if attributes is not None:
3624
+ self._values["attributes"] = attributes
3625
+ if clock_rate is not None:
3626
+ self._values["clock_rate"] = clock_rate
3627
+ if description is not None:
3628
+ self._values["description"] = description
3629
+ if fmt is not None:
3630
+ self._values["fmt"] = fmt
3631
+ if video_format is not None:
3632
+ self._values["video_format"] = video_format
3633
+
3634
+ @builtins.property
3635
+ def media_stream_id(self) -> jsii.Number:
3636
+ '''A unique identifier for the media stream.
3637
+
3638
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-mediastreamid
3639
+ '''
3640
+ result = self._values.get("media_stream_id")
3641
+ assert result is not None, "Required property 'media_stream_id' is missing"
3642
+ return typing.cast(jsii.Number, result)
3643
+
3644
+ @builtins.property
3645
+ def media_stream_name(self) -> builtins.str:
3646
+ '''A name that helps you distinguish one media stream from another.
3647
+
3648
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-mediastreamname
3649
+ '''
3650
+ result = self._values.get("media_stream_name")
3651
+ assert result is not None, "Required property 'media_stream_name' is missing"
3652
+ return typing.cast(builtins.str, result)
3653
+
3654
+ @builtins.property
3655
+ def media_stream_type(self) -> builtins.str:
3656
+ '''The type of media stream.
3657
+
3658
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-mediastreamtype
3659
+ '''
3660
+ result = self._values.get("media_stream_type")
3661
+ assert result is not None, "Required property 'media_stream_type' is missing"
3662
+ return typing.cast(builtins.str, result)
3663
+
3664
+ @builtins.property
3665
+ def attributes(
3666
+ self,
3667
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.MediaStreamAttributesProperty"]]:
3668
+ '''Attributes that are related to the media stream.
3669
+
3670
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-attributes
3671
+ '''
3672
+ result = self._values.get("attributes")
3673
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.MediaStreamAttributesProperty"]], result)
3674
+
3675
+ @builtins.property
3676
+ def clock_rate(self) -> typing.Optional[jsii.Number]:
3677
+ '''The sample rate for the stream.
3678
+
3679
+ This value in measured in kHz.
3680
+
3681
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-clockrate
3682
+ '''
3683
+ result = self._values.get("clock_rate")
3684
+ return typing.cast(typing.Optional[jsii.Number], result)
3685
+
3686
+ @builtins.property
3687
+ def description(self) -> typing.Optional[builtins.str]:
3688
+ '''A description that can help you quickly identify what your media stream is used for.
3689
+
3690
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-description
3691
+ '''
3692
+ result = self._values.get("description")
3693
+ return typing.cast(typing.Optional[builtins.str], result)
3694
+
3695
+ @builtins.property
3696
+ def fmt(self) -> typing.Optional[jsii.Number]:
3697
+ '''The format type number (sometimes referred to as RTP payload type) of the media stream.
3698
+
3699
+ MediaConnect assigns this value to the media stream. For ST 2110 JPEG XS outputs, you need to provide this value to the receiver.
3700
+
3701
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-fmt
3702
+ '''
3703
+ result = self._values.get("fmt")
3704
+ return typing.cast(typing.Optional[jsii.Number], result)
3705
+
3706
+ @builtins.property
3707
+ def video_format(self) -> typing.Optional[builtins.str]:
3708
+ '''The resolution of the video.
3709
+
3710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastream.html#cfn-mediaconnect-flow-mediastream-videoformat
3711
+ '''
3712
+ result = self._values.get("video_format")
3713
+ return typing.cast(typing.Optional[builtins.str], result)
3714
+
3715
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3716
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3717
+
3718
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3719
+ return not (rhs == self)
3720
+
3721
+ def __repr__(self) -> str:
3722
+ return "MediaStreamProperty(%s)" % ", ".join(
3723
+ k + "=" + repr(v) for k, v in self._values.items()
3724
+ )
3725
+
3726
+ @jsii.data_type(
3727
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.MediaStreamSourceConfigurationProperty",
3728
+ jsii_struct_bases=[],
3729
+ name_mapping={
3730
+ "encoding_name": "encodingName",
3731
+ "media_stream_name": "mediaStreamName",
3732
+ "input_configurations": "inputConfigurations",
3733
+ },
3734
+ )
3735
+ class MediaStreamSourceConfigurationProperty:
3736
+ def __init__(
3737
+ self,
3738
+ *,
3739
+ encoding_name: builtins.str,
3740
+ media_stream_name: builtins.str,
3741
+ input_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.InputConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3742
+ ) -> None:
3743
+ '''The media stream that is associated with the source, and the parameters for that association.
3744
+
3745
+ :param encoding_name: The format that was used to encode the data. For ancillary data streams, set the encoding name to ``smpte291`` . For audio streams, set the encoding name to ``pcm`` . For video, 2110 streams, set the encoding name to ``raw`` . For video, JPEG XS streams, set the encoding name to ``jxsv`` .
3746
+ :param media_stream_name: A name that helps you distinguish one media stream from another.
3747
+ :param input_configurations: The media streams that you want to associate with the source.
3748
+
3749
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastreamsourceconfiguration.html
3750
+ :exampleMetadata: fixture=_generated
3751
+
3752
+ Example::
3753
+
3754
+ # The code below shows an example of how to instantiate this type.
3755
+ # The values are placeholders you should change.
3756
+ from aws_cdk import aws_mediaconnect as mediaconnect
3757
+
3758
+ media_stream_source_configuration_property = mediaconnect.CfnFlow.MediaStreamSourceConfigurationProperty(
3759
+ encoding_name="encodingName",
3760
+ media_stream_name="mediaStreamName",
3761
+
3762
+ # the properties below are optional
3763
+ input_configurations=[mediaconnect.CfnFlow.InputConfigurationProperty(
3764
+ input_port=123,
3765
+ interface=mediaconnect.CfnFlow.InterfaceProperty(
3766
+ name="name"
3767
+ )
3768
+ )]
2925
3769
  )
2926
3770
  '''
2927
3771
  if __debug__:
2928
- type_hints = typing.get_type_hints(_typecheckingstub__00bf15dc37f493c33d6b2109cfa6283d2bb14bdc23b0ae4fd75a67ca60084ea8)
2929
- check_type(argname="argument bridge_arn", value=bridge_arn, expected_type=type_hints["bridge_arn"])
2930
- check_type(argname="argument vpc_interface_attachment", value=vpc_interface_attachment, expected_type=type_hints["vpc_interface_attachment"])
3772
+ type_hints = typing.get_type_hints(_typecheckingstub__c288224888dcd985ea78c20d06801a00405d4260bf960e8dbcac65f3e669aa4f)
3773
+ check_type(argname="argument encoding_name", value=encoding_name, expected_type=type_hints["encoding_name"])
3774
+ check_type(argname="argument media_stream_name", value=media_stream_name, expected_type=type_hints["media_stream_name"])
3775
+ check_type(argname="argument input_configurations", value=input_configurations, expected_type=type_hints["input_configurations"])
2931
3776
  self._values: typing.Dict[builtins.str, typing.Any] = {
2932
- "bridge_arn": bridge_arn,
3777
+ "encoding_name": encoding_name,
3778
+ "media_stream_name": media_stream_name,
2933
3779
  }
2934
- if vpc_interface_attachment is not None:
2935
- self._values["vpc_interface_attachment"] = vpc_interface_attachment
3780
+ if input_configurations is not None:
3781
+ self._values["input_configurations"] = input_configurations
2936
3782
 
2937
3783
  @builtins.property
2938
- def bridge_arn(self) -> builtins.str:
2939
- '''The ARN of the bridge feeding this flow.
3784
+ def encoding_name(self) -> builtins.str:
3785
+ '''The format that was used to encode the data.
2940
3786
 
2941
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-gatewaybridgesource.html#cfn-mediaconnect-flow-gatewaybridgesource-bridgearn
3787
+ For ancillary data streams, set the encoding name to ``smpte291`` .
3788
+
3789
+ For audio streams, set the encoding name to ``pcm`` .
3790
+
3791
+ For video, 2110 streams, set the encoding name to ``raw`` .
3792
+
3793
+ For video, JPEG XS streams, set the encoding name to ``jxsv`` .
3794
+
3795
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastreamsourceconfiguration.html#cfn-mediaconnect-flow-mediastreamsourceconfiguration-encodingname
2942
3796
  '''
2943
- result = self._values.get("bridge_arn")
2944
- assert result is not None, "Required property 'bridge_arn' is missing"
3797
+ result = self._values.get("encoding_name")
3798
+ assert result is not None, "Required property 'encoding_name' is missing"
2945
3799
  return typing.cast(builtins.str, result)
2946
3800
 
2947
3801
  @builtins.property
2948
- def vpc_interface_attachment(
3802
+ def media_stream_name(self) -> builtins.str:
3803
+ '''A name that helps you distinguish one media stream from another.
3804
+
3805
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastreamsourceconfiguration.html#cfn-mediaconnect-flow-mediastreamsourceconfiguration-mediastreamname
3806
+ '''
3807
+ result = self._values.get("media_stream_name")
3808
+ assert result is not None, "Required property 'media_stream_name' is missing"
3809
+ return typing.cast(builtins.str, result)
3810
+
3811
+ @builtins.property
3812
+ def input_configurations(
2949
3813
  self,
2950
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.VpcInterfaceAttachmentProperty"]]:
2951
- '''The name of the VPC interface attachment to use for this bridge source.
3814
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.InputConfigurationProperty"]]]]:
3815
+ '''The media streams that you want to associate with the source.
2952
3816
 
2953
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-gatewaybridgesource.html#cfn-mediaconnect-flow-gatewaybridgesource-vpcinterfaceattachment
3817
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-mediastreamsourceconfiguration.html#cfn-mediaconnect-flow-mediastreamsourceconfiguration-inputconfigurations
2954
3818
  '''
2955
- result = self._values.get("vpc_interface_attachment")
2956
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlow.VpcInterfaceAttachmentProperty"]], result)
3819
+ result = self._values.get("input_configurations")
3820
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.InputConfigurationProperty"]]]], result)
2957
3821
 
2958
3822
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2959
3823
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -2962,7 +3826,7 @@ class CfnFlow(
2962
3826
  return not (rhs == self)
2963
3827
 
2964
3828
  def __repr__(self) -> str:
2965
- return "GatewayBridgeSourceProperty(%s)" % ", ".join(
3829
+ return "MediaStreamSourceConfigurationProperty(%s)" % ", ".join(
2966
3830
  k + "=" + repr(v) for k, v in self._values.items()
2967
3831
  )
2968
3832
 
@@ -3032,6 +3896,8 @@ class CfnFlow(
3032
3896
  "ingest_port": "ingestPort",
3033
3897
  "max_bitrate": "maxBitrate",
3034
3898
  "max_latency": "maxLatency",
3899
+ "max_sync_buffer": "maxSyncBuffer",
3900
+ "media_stream_source_configurations": "mediaStreamSourceConfigurations",
3035
3901
  "min_latency": "minLatency",
3036
3902
  "name": "name",
3037
3903
  "protocol": "protocol",
@@ -3058,6 +3924,8 @@ class CfnFlow(
3058
3924
  ingest_port: typing.Optional[jsii.Number] = None,
3059
3925
  max_bitrate: typing.Optional[jsii.Number] = None,
3060
3926
  max_latency: typing.Optional[jsii.Number] = None,
3927
+ max_sync_buffer: typing.Optional[jsii.Number] = None,
3928
+ media_stream_source_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlow.MediaStreamSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3061
3929
  min_latency: typing.Optional[jsii.Number] = None,
3062
3930
  name: typing.Optional[builtins.str] = None,
3063
3931
  protocol: typing.Optional[builtins.str] = None,
@@ -3087,6 +3955,8 @@ class CfnFlow(
3087
3955
  :param ingest_port: The port that the flow listens on for incoming content. If the protocol of the source is Zixi, the port must be set to 2088.
3088
3956
  :param max_bitrate: The maximum bitrate for RIST, RTP, and RTP-FEC streams.
3089
3957
  :param max_latency: The maximum latency in milliseconds for a RIST or Zixi-based source. Default: - 2000
3958
+ :param max_sync_buffer: The size of the buffer (in milliseconds) to use to sync incoming source data.
3959
+ :param media_stream_source_configurations: The media stream that is associated with the source, and the parameters for that association.
3090
3960
  :param min_latency: The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency. Default: - 2000
3091
3961
  :param name: The name of the source.
3092
3962
  :param protocol: The protocol that is used by the source. AWS CloudFormation does not currently support CDI or ST 2110 JPEG XS source protocols.
@@ -3137,6 +4007,19 @@ class CfnFlow(
3137
4007
  ingest_port=123,
3138
4008
  max_bitrate=123,
3139
4009
  max_latency=123,
4010
+ max_sync_buffer=123,
4011
+ media_stream_source_configurations=[mediaconnect.CfnFlow.MediaStreamSourceConfigurationProperty(
4012
+ encoding_name="encodingName",
4013
+ media_stream_name="mediaStreamName",
4014
+
4015
+ # the properties below are optional
4016
+ input_configurations=[mediaconnect.CfnFlow.InputConfigurationProperty(
4017
+ input_port=123,
4018
+ interface=mediaconnect.CfnFlow.InterfaceProperty(
4019
+ name="name"
4020
+ )
4021
+ )]
4022
+ )],
3140
4023
  min_latency=123,
3141
4024
  name="name",
3142
4025
  protocol="protocol",
@@ -3161,6 +4044,8 @@ class CfnFlow(
3161
4044
  check_type(argname="argument ingest_port", value=ingest_port, expected_type=type_hints["ingest_port"])
3162
4045
  check_type(argname="argument max_bitrate", value=max_bitrate, expected_type=type_hints["max_bitrate"])
3163
4046
  check_type(argname="argument max_latency", value=max_latency, expected_type=type_hints["max_latency"])
4047
+ check_type(argname="argument max_sync_buffer", value=max_sync_buffer, expected_type=type_hints["max_sync_buffer"])
4048
+ check_type(argname="argument media_stream_source_configurations", value=media_stream_source_configurations, expected_type=type_hints["media_stream_source_configurations"])
3164
4049
  check_type(argname="argument min_latency", value=min_latency, expected_type=type_hints["min_latency"])
3165
4050
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3166
4051
  check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
@@ -3190,6 +4075,10 @@ class CfnFlow(
3190
4075
  self._values["max_bitrate"] = max_bitrate
3191
4076
  if max_latency is not None:
3192
4077
  self._values["max_latency"] = max_latency
4078
+ if max_sync_buffer is not None:
4079
+ self._values["max_sync_buffer"] = max_sync_buffer
4080
+ if media_stream_source_configurations is not None:
4081
+ self._values["media_stream_source_configurations"] = media_stream_source_configurations
3193
4082
  if min_latency is not None:
3194
4083
  self._values["min_latency"] = min_latency
3195
4084
  if name is not None:
@@ -3299,6 +4188,26 @@ class CfnFlow(
3299
4188
  result = self._values.get("max_latency")
3300
4189
  return typing.cast(typing.Optional[jsii.Number], result)
3301
4190
 
4191
+ @builtins.property
4192
+ def max_sync_buffer(self) -> typing.Optional[jsii.Number]:
4193
+ '''The size of the buffer (in milliseconds) to use to sync incoming source data.
4194
+
4195
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-maxsyncbuffer
4196
+ '''
4197
+ result = self._values.get("max_sync_buffer")
4198
+ return typing.cast(typing.Optional[jsii.Number], result)
4199
+
4200
+ @builtins.property
4201
+ def media_stream_source_configurations(
4202
+ self,
4203
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.MediaStreamSourceConfigurationProperty"]]]]:
4204
+ '''The media stream that is associated with the source, and the parameters for that association.
4205
+
4206
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-mediastreamsourceconfigurations
4207
+ '''
4208
+ result = self._values.get("media_stream_source_configurations")
4209
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlow.MediaStreamSourceConfigurationProperty"]]]], result)
4210
+
3302
4211
  @builtins.property
3303
4212
  def min_latency(self) -> typing.Optional[jsii.Number]:
3304
4213
  '''The minimum latency in milliseconds for SRT-based streams.
@@ -3485,6 +4394,152 @@ class CfnFlow(
3485
4394
  k + "=" + repr(v) for k, v in self._values.items()
3486
4395
  )
3487
4396
 
4397
+ @jsii.data_type(
4398
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlow.VpcInterfaceProperty",
4399
+ jsii_struct_bases=[],
4400
+ name_mapping={
4401
+ "name": "name",
4402
+ "role_arn": "roleArn",
4403
+ "security_group_ids": "securityGroupIds",
4404
+ "subnet_id": "subnetId",
4405
+ "network_interface_ids": "networkInterfaceIds",
4406
+ "network_interface_type": "networkInterfaceType",
4407
+ },
4408
+ )
4409
+ class VpcInterfaceProperty:
4410
+ def __init__(
4411
+ self,
4412
+ *,
4413
+ name: builtins.str,
4414
+ role_arn: builtins.str,
4415
+ security_group_ids: typing.Sequence[builtins.str],
4416
+ subnet_id: builtins.str,
4417
+ network_interface_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
4418
+ network_interface_type: typing.Optional[builtins.str] = None,
4419
+ ) -> None:
4420
+ '''The details of a VPC interface.
4421
+
4422
+ :param name: The name for the VPC interface. This name must be unique within the flow.
4423
+ :param role_arn: The ARN of the IAM role that you created when you set up MediaConnect as a trusted service.
4424
+ :param security_group_ids: A virtual firewall to control inbound and outbound traffic.
4425
+ :param subnet_id: The subnet IDs that you specified for your VPC interface. A subnet ID is a range of IP addresses in your VPC. When you create your VPC, you specify a range of IPv4 addresses for the VPC in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. This is the primary CIDR block for your VPC. When you create a subnet for your VPC, you specify the CIDR block for the subnet, which is a subset of the VPC CIDR block. The subnets that you use across all VPC interfaces on the flow must be in the same Availability Zone as the flow.
4426
+ :param network_interface_ids: The IDs of the network interfaces that MediaConnect created in your account.
4427
+ :param network_interface_type: The type of network interface.
4428
+
4429
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html
4430
+ :exampleMetadata: fixture=_generated
4431
+
4432
+ Example::
4433
+
4434
+ # The code below shows an example of how to instantiate this type.
4435
+ # The values are placeholders you should change.
4436
+ from aws_cdk import aws_mediaconnect as mediaconnect
4437
+
4438
+ vpc_interface_property = mediaconnect.CfnFlow.VpcInterfaceProperty(
4439
+ name="name",
4440
+ role_arn="roleArn",
4441
+ security_group_ids=["securityGroupIds"],
4442
+ subnet_id="subnetId",
4443
+
4444
+ # the properties below are optional
4445
+ network_interface_ids=["networkInterfaceIds"],
4446
+ network_interface_type="networkInterfaceType"
4447
+ )
4448
+ '''
4449
+ if __debug__:
4450
+ type_hints = typing.get_type_hints(_typecheckingstub__d976d1dab1b395c0026dcc2152c4dd635ae54d817a1f10c4d8f2725ac4862ad4)
4451
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4452
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
4453
+ check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
4454
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
4455
+ check_type(argname="argument network_interface_ids", value=network_interface_ids, expected_type=type_hints["network_interface_ids"])
4456
+ check_type(argname="argument network_interface_type", value=network_interface_type, expected_type=type_hints["network_interface_type"])
4457
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4458
+ "name": name,
4459
+ "role_arn": role_arn,
4460
+ "security_group_ids": security_group_ids,
4461
+ "subnet_id": subnet_id,
4462
+ }
4463
+ if network_interface_ids is not None:
4464
+ self._values["network_interface_ids"] = network_interface_ids
4465
+ if network_interface_type is not None:
4466
+ self._values["network_interface_type"] = network_interface_type
4467
+
4468
+ @builtins.property
4469
+ def name(self) -> builtins.str:
4470
+ '''The name for the VPC interface.
4471
+
4472
+ This name must be unique within the flow.
4473
+
4474
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html#cfn-mediaconnect-flow-vpcinterface-name
4475
+ '''
4476
+ result = self._values.get("name")
4477
+ assert result is not None, "Required property 'name' is missing"
4478
+ return typing.cast(builtins.str, result)
4479
+
4480
+ @builtins.property
4481
+ def role_arn(self) -> builtins.str:
4482
+ '''The ARN of the IAM role that you created when you set up MediaConnect as a trusted service.
4483
+
4484
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html#cfn-mediaconnect-flow-vpcinterface-rolearn
4485
+ '''
4486
+ result = self._values.get("role_arn")
4487
+ assert result is not None, "Required property 'role_arn' is missing"
4488
+ return typing.cast(builtins.str, result)
4489
+
4490
+ @builtins.property
4491
+ def security_group_ids(self) -> typing.List[builtins.str]:
4492
+ '''A virtual firewall to control inbound and outbound traffic.
4493
+
4494
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html#cfn-mediaconnect-flow-vpcinterface-securitygroupids
4495
+ '''
4496
+ result = self._values.get("security_group_ids")
4497
+ assert result is not None, "Required property 'security_group_ids' is missing"
4498
+ return typing.cast(typing.List[builtins.str], result)
4499
+
4500
+ @builtins.property
4501
+ def subnet_id(self) -> builtins.str:
4502
+ '''The subnet IDs that you specified for your VPC interface.
4503
+
4504
+ A subnet ID is a range of IP addresses in your VPC. When you create your VPC, you specify a range of IPv4 addresses for the VPC in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. This is the primary CIDR block for your VPC. When you create a subnet for your VPC, you specify the CIDR block for the subnet, which is a subset of the VPC CIDR block.
4505
+
4506
+ The subnets that you use across all VPC interfaces on the flow must be in the same Availability Zone as the flow.
4507
+
4508
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html#cfn-mediaconnect-flow-vpcinterface-subnetid
4509
+ '''
4510
+ result = self._values.get("subnet_id")
4511
+ assert result is not None, "Required property 'subnet_id' is missing"
4512
+ return typing.cast(builtins.str, result)
4513
+
4514
+ @builtins.property
4515
+ def network_interface_ids(self) -> typing.Optional[typing.List[builtins.str]]:
4516
+ '''The IDs of the network interfaces that MediaConnect created in your account.
4517
+
4518
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html#cfn-mediaconnect-flow-vpcinterface-networkinterfaceids
4519
+ '''
4520
+ result = self._values.get("network_interface_ids")
4521
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
4522
+
4523
+ @builtins.property
4524
+ def network_interface_type(self) -> typing.Optional[builtins.str]:
4525
+ '''The type of network interface.
4526
+
4527
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html#cfn-mediaconnect-flow-vpcinterface-networkinterfacetype
4528
+ '''
4529
+ result = self._values.get("network_interface_type")
4530
+ return typing.cast(typing.Optional[builtins.str], result)
4531
+
4532
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4533
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4534
+
4535
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4536
+ return not (rhs == self)
4537
+
4538
+ def __repr__(self) -> str:
4539
+ return "VpcInterfaceProperty(%s)" % ", ".join(
4540
+ k + "=" + repr(v) for k, v in self._values.items()
4541
+ )
4542
+
3488
4543
 
3489
4544
  @jsii.implements(_IInspectable_c2943556)
3490
4545
  class CfnFlowEntitlement(
@@ -4137,6 +5192,25 @@ class CfnFlowOutput(
4137
5192
  key_type="keyType"
4138
5193
  ),
4139
5194
  max_latency=123,
5195
+ media_stream_output_configurations=[mediaconnect.CfnFlowOutput.MediaStreamOutputConfigurationProperty(
5196
+ encoding_name="encodingName",
5197
+ media_stream_name="mediaStreamName",
5198
+
5199
+ # the properties below are optional
5200
+ destination_configurations=[mediaconnect.CfnFlowOutput.DestinationConfigurationProperty(
5201
+ destination_ip="destinationIp",
5202
+ destination_port=123,
5203
+ interface=mediaconnect.CfnFlowOutput.InterfaceProperty(
5204
+ name="name"
5205
+ )
5206
+ )],
5207
+ encoding_parameters=mediaconnect.CfnFlowOutput.EncodingParametersProperty(
5208
+ compression_factor=123,
5209
+
5210
+ # the properties below are optional
5211
+ encoder_profile="encoderProfile"
5212
+ )
5213
+ )],
4140
5214
  min_latency=123,
4141
5215
  name="name",
4142
5216
  port=123,
@@ -4161,6 +5235,7 @@ class CfnFlowOutput(
4161
5235
  destination: typing.Optional[builtins.str] = None,
4162
5236
  encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlowOutput.EncryptionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4163
5237
  max_latency: typing.Optional[jsii.Number] = None,
5238
+ media_stream_output_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlowOutput.MediaStreamOutputConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4164
5239
  min_latency: typing.Optional[jsii.Number] = None,
4165
5240
  name: typing.Optional[builtins.str] = None,
4166
5241
  port: typing.Optional[jsii.Number] = None,
@@ -4179,6 +5254,7 @@ class CfnFlowOutput(
4179
5254
  :param destination: The IP address where you want to send the output.
4180
5255
  :param encryption: The encryption credentials that you want to use for the output.
4181
5256
  :param max_latency: The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.
5257
+ :param media_stream_output_configurations: The definition for each media stream that is associated with the output.
4182
5258
  :param min_latency: The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.
4183
5259
  :param name: The name of the output. This value must be unique within the current flow.
4184
5260
  :param port: The port to use when MediaConnect distributes content to the output.
@@ -4199,6 +5275,7 @@ class CfnFlowOutput(
4199
5275
  destination=destination,
4200
5276
  encryption=encryption,
4201
5277
  max_latency=max_latency,
5278
+ media_stream_output_configurations=media_stream_output_configurations,
4202
5279
  min_latency=min_latency,
4203
5280
  name=name,
4204
5281
  port=port,
@@ -4353,6 +5430,24 @@ class CfnFlowOutput(
4353
5430
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4354
5431
  jsii.set(self, "maxLatency", value)
4355
5432
 
5433
+ @builtins.property
5434
+ @jsii.member(jsii_name="mediaStreamOutputConfigurations")
5435
+ def media_stream_output_configurations(
5436
+ self,
5437
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.MediaStreamOutputConfigurationProperty"]]]]:
5438
+ '''The definition for each media stream that is associated with the output.'''
5439
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.MediaStreamOutputConfigurationProperty"]]]], jsii.get(self, "mediaStreamOutputConfigurations"))
5440
+
5441
+ @media_stream_output_configurations.setter
5442
+ def media_stream_output_configurations(
5443
+ self,
5444
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.MediaStreamOutputConfigurationProperty"]]]],
5445
+ ) -> None:
5446
+ if __debug__:
5447
+ type_hints = typing.get_type_hints(_typecheckingstub__c99ca24b6208e72328e18819b003e97cbf14fb0f94304256c59924c6e02ae32d)
5448
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5449
+ jsii.set(self, "mediaStreamOutputConfigurations", value)
5450
+
4356
5451
  @builtins.property
4357
5452
  @jsii.member(jsii_name="minLatency")
4358
5453
  def min_latency(self) -> typing.Optional[jsii.Number]:
@@ -4431,23 +5526,203 @@ class CfnFlowOutput(
4431
5526
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4432
5527
  jsii.set(self, "streamId", value)
4433
5528
 
4434
- @builtins.property
4435
- @jsii.member(jsii_name="vpcInterfaceAttachment")
4436
- def vpc_interface_attachment(
4437
- self,
4438
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.VpcInterfaceAttachmentProperty"]]:
4439
- '''The VPC interface that you want to send your output to.'''
4440
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.VpcInterfaceAttachmentProperty"]], jsii.get(self, "vpcInterfaceAttachment"))
5529
+ @builtins.property
5530
+ @jsii.member(jsii_name="vpcInterfaceAttachment")
5531
+ def vpc_interface_attachment(
5532
+ self,
5533
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.VpcInterfaceAttachmentProperty"]]:
5534
+ '''The VPC interface that you want to send your output to.'''
5535
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.VpcInterfaceAttachmentProperty"]], jsii.get(self, "vpcInterfaceAttachment"))
5536
+
5537
+ @vpc_interface_attachment.setter
5538
+ def vpc_interface_attachment(
5539
+ self,
5540
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.VpcInterfaceAttachmentProperty"]],
5541
+ ) -> None:
5542
+ if __debug__:
5543
+ type_hints = typing.get_type_hints(_typecheckingstub__65a3e058407bcf8bd6fa065c9fd3cd66a1c54e7edb3b48af25c7893fd72db21d)
5544
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5545
+ jsii.set(self, "vpcInterfaceAttachment", value)
5546
+
5547
+ @jsii.data_type(
5548
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlowOutput.DestinationConfigurationProperty",
5549
+ jsii_struct_bases=[],
5550
+ name_mapping={
5551
+ "destination_ip": "destinationIp",
5552
+ "destination_port": "destinationPort",
5553
+ "interface": "interface",
5554
+ },
5555
+ )
5556
+ class DestinationConfigurationProperty:
5557
+ def __init__(
5558
+ self,
5559
+ *,
5560
+ destination_ip: builtins.str,
5561
+ destination_port: jsii.Number,
5562
+ interface: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlowOutput.InterfaceProperty", typing.Dict[builtins.str, typing.Any]]],
5563
+ ) -> None:
5564
+ '''The definition of a media stream that is associated with the output.
5565
+
5566
+ :param destination_ip: The IP address where contents of the media stream will be sent.
5567
+ :param destination_port: The port to use when the content of the media stream is distributed to the output.
5568
+ :param interface: The VPC interface that is used for the media stream associated with the output.
5569
+
5570
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-destinationconfiguration.html
5571
+ :exampleMetadata: fixture=_generated
5572
+
5573
+ Example::
5574
+
5575
+ # The code below shows an example of how to instantiate this type.
5576
+ # The values are placeholders you should change.
5577
+ from aws_cdk import aws_mediaconnect as mediaconnect
5578
+
5579
+ destination_configuration_property = mediaconnect.CfnFlowOutput.DestinationConfigurationProperty(
5580
+ destination_ip="destinationIp",
5581
+ destination_port=123,
5582
+ interface=mediaconnect.CfnFlowOutput.InterfaceProperty(
5583
+ name="name"
5584
+ )
5585
+ )
5586
+ '''
5587
+ if __debug__:
5588
+ type_hints = typing.get_type_hints(_typecheckingstub__8b62fc10e1fb76cee67ab63dde918a0006c11ce38e8af823e4d2f2770e4d5765)
5589
+ check_type(argname="argument destination_ip", value=destination_ip, expected_type=type_hints["destination_ip"])
5590
+ check_type(argname="argument destination_port", value=destination_port, expected_type=type_hints["destination_port"])
5591
+ check_type(argname="argument interface", value=interface, expected_type=type_hints["interface"])
5592
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5593
+ "destination_ip": destination_ip,
5594
+ "destination_port": destination_port,
5595
+ "interface": interface,
5596
+ }
5597
+
5598
+ @builtins.property
5599
+ def destination_ip(self) -> builtins.str:
5600
+ '''The IP address where contents of the media stream will be sent.
5601
+
5602
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-destinationconfiguration.html#cfn-mediaconnect-flowoutput-destinationconfiguration-destinationip
5603
+ '''
5604
+ result = self._values.get("destination_ip")
5605
+ assert result is not None, "Required property 'destination_ip' is missing"
5606
+ return typing.cast(builtins.str, result)
5607
+
5608
+ @builtins.property
5609
+ def destination_port(self) -> jsii.Number:
5610
+ '''The port to use when the content of the media stream is distributed to the output.
5611
+
5612
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-destinationconfiguration.html#cfn-mediaconnect-flowoutput-destinationconfiguration-destinationport
5613
+ '''
5614
+ result = self._values.get("destination_port")
5615
+ assert result is not None, "Required property 'destination_port' is missing"
5616
+ return typing.cast(jsii.Number, result)
5617
+
5618
+ @builtins.property
5619
+ def interface(
5620
+ self,
5621
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.InterfaceProperty"]:
5622
+ '''The VPC interface that is used for the media stream associated with the output.
5623
+
5624
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-destinationconfiguration.html#cfn-mediaconnect-flowoutput-destinationconfiguration-interface
5625
+ '''
5626
+ result = self._values.get("interface")
5627
+ assert result is not None, "Required property 'interface' is missing"
5628
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.InterfaceProperty"], result)
5629
+
5630
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5631
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5632
+
5633
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5634
+ return not (rhs == self)
5635
+
5636
+ def __repr__(self) -> str:
5637
+ return "DestinationConfigurationProperty(%s)" % ", ".join(
5638
+ k + "=" + repr(v) for k, v in self._values.items()
5639
+ )
5640
+
5641
+ @jsii.data_type(
5642
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlowOutput.EncodingParametersProperty",
5643
+ jsii_struct_bases=[],
5644
+ name_mapping={
5645
+ "compression_factor": "compressionFactor",
5646
+ "encoder_profile": "encoderProfile",
5647
+ },
5648
+ )
5649
+ class EncodingParametersProperty:
5650
+ def __init__(
5651
+ self,
5652
+ *,
5653
+ compression_factor: jsii.Number,
5654
+ encoder_profile: typing.Optional[builtins.str] = None,
5655
+ ) -> None:
5656
+ '''A collection of parameters that determine how MediaConnect will convert the content.
5657
+
5658
+ These fields only apply to outputs on flows that have a CDI source.
5659
+
5660
+ :param compression_factor: A value that is used to calculate compression for an output. The bitrate of the output is calculated as follows: Output bitrate = (1 / compressionFactor) * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid values are in the range of 3.0 to 10.0, inclusive.
5661
+ :param encoder_profile: A setting on the encoder that drives compression settings. This property only applies to video media streams associated with outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.
5662
+
5663
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encodingparameters.html
5664
+ :exampleMetadata: fixture=_generated
5665
+
5666
+ Example::
5667
+
5668
+ # The code below shows an example of how to instantiate this type.
5669
+ # The values are placeholders you should change.
5670
+ from aws_cdk import aws_mediaconnect as mediaconnect
5671
+
5672
+ encoding_parameters_property = mediaconnect.CfnFlowOutput.EncodingParametersProperty(
5673
+ compression_factor=123,
5674
+
5675
+ # the properties below are optional
5676
+ encoder_profile="encoderProfile"
5677
+ )
5678
+ '''
5679
+ if __debug__:
5680
+ type_hints = typing.get_type_hints(_typecheckingstub__d7e858c0a050e7b9bf4f84c7f6034ad1cf704a2a9a2b07a5b472d598f1b62d5f)
5681
+ check_type(argname="argument compression_factor", value=compression_factor, expected_type=type_hints["compression_factor"])
5682
+ check_type(argname="argument encoder_profile", value=encoder_profile, expected_type=type_hints["encoder_profile"])
5683
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5684
+ "compression_factor": compression_factor,
5685
+ }
5686
+ if encoder_profile is not None:
5687
+ self._values["encoder_profile"] = encoder_profile
5688
+
5689
+ @builtins.property
5690
+ def compression_factor(self) -> jsii.Number:
5691
+ '''A value that is used to calculate compression for an output.
5692
+
5693
+ The bitrate of the output is calculated as follows:
5694
+
5695
+ Output bitrate = (1 / compressionFactor) * (source bitrate)
5696
+
5697
+ This property only applies to outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid values are in the range of 3.0 to 10.0, inclusive.
5698
+
5699
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encodingparameters.html#cfn-mediaconnect-flowoutput-encodingparameters-compressionfactor
5700
+ '''
5701
+ result = self._values.get("compression_factor")
5702
+ assert result is not None, "Required property 'compression_factor' is missing"
5703
+ return typing.cast(jsii.Number, result)
5704
+
5705
+ @builtins.property
5706
+ def encoder_profile(self) -> typing.Optional[builtins.str]:
5707
+ '''A setting on the encoder that drives compression settings.
5708
+
5709
+ This property only applies to video media streams associated with outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.
5710
+
5711
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encodingparameters.html#cfn-mediaconnect-flowoutput-encodingparameters-encoderprofile
5712
+ '''
5713
+ result = self._values.get("encoder_profile")
5714
+ return typing.cast(typing.Optional[builtins.str], result)
5715
+
5716
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5717
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5718
+
5719
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5720
+ return not (rhs == self)
4441
5721
 
4442
- @vpc_interface_attachment.setter
4443
- def vpc_interface_attachment(
4444
- self,
4445
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.VpcInterfaceAttachmentProperty"]],
4446
- ) -> None:
4447
- if __debug__:
4448
- type_hints = typing.get_type_hints(_typecheckingstub__65a3e058407bcf8bd6fa065c9fd3cd66a1c54e7edb3b48af25c7893fd72db21d)
4449
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4450
- jsii.set(self, "vpcInterfaceAttachment", value)
5722
+ def __repr__(self) -> str:
5723
+ return "EncodingParametersProperty(%s)" % ", ".join(
5724
+ k + "=" + repr(v) for k, v in self._values.items()
5725
+ )
4451
5726
 
4452
5727
  @jsii.data_type(
4453
5728
  jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlowOutput.EncryptionProperty",
@@ -4563,6 +5838,191 @@ class CfnFlowOutput(
4563
5838
  k + "=" + repr(v) for k, v in self._values.items()
4564
5839
  )
4565
5840
 
5841
+ @jsii.data_type(
5842
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlowOutput.InterfaceProperty",
5843
+ jsii_struct_bases=[],
5844
+ name_mapping={"name": "name"},
5845
+ )
5846
+ class InterfaceProperty:
5847
+ def __init__(self, *, name: builtins.str) -> None:
5848
+ '''The VPC interface that you want to use for the media stream associated with the output.
5849
+
5850
+ :param name: The name of the VPC interface that you want to use for the media stream associated with the output.
5851
+
5852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-interface.html
5853
+ :exampleMetadata: fixture=_generated
5854
+
5855
+ Example::
5856
+
5857
+ # The code below shows an example of how to instantiate this type.
5858
+ # The values are placeholders you should change.
5859
+ from aws_cdk import aws_mediaconnect as mediaconnect
5860
+
5861
+ interface_property = mediaconnect.CfnFlowOutput.InterfaceProperty(
5862
+ name="name"
5863
+ )
5864
+ '''
5865
+ if __debug__:
5866
+ type_hints = typing.get_type_hints(_typecheckingstub__5cc7770548eb391a3e7796f01956da0a9add137c57ab671911bb6c1a675e3dcd)
5867
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
5868
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5869
+ "name": name,
5870
+ }
5871
+
5872
+ @builtins.property
5873
+ def name(self) -> builtins.str:
5874
+ '''The name of the VPC interface that you want to use for the media stream associated with the output.
5875
+
5876
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-interface.html#cfn-mediaconnect-flowoutput-interface-name
5877
+ '''
5878
+ result = self._values.get("name")
5879
+ assert result is not None, "Required property 'name' is missing"
5880
+ return typing.cast(builtins.str, result)
5881
+
5882
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5883
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5884
+
5885
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5886
+ return not (rhs == self)
5887
+
5888
+ def __repr__(self) -> str:
5889
+ return "InterfaceProperty(%s)" % ", ".join(
5890
+ k + "=" + repr(v) for k, v in self._values.items()
5891
+ )
5892
+
5893
+ @jsii.data_type(
5894
+ jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlowOutput.MediaStreamOutputConfigurationProperty",
5895
+ jsii_struct_bases=[],
5896
+ name_mapping={
5897
+ "encoding_name": "encodingName",
5898
+ "media_stream_name": "mediaStreamName",
5899
+ "destination_configurations": "destinationConfigurations",
5900
+ "encoding_parameters": "encodingParameters",
5901
+ },
5902
+ )
5903
+ class MediaStreamOutputConfigurationProperty:
5904
+ def __init__(
5905
+ self,
5906
+ *,
5907
+ encoding_name: builtins.str,
5908
+ media_stream_name: builtins.str,
5909
+ destination_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlowOutput.DestinationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5910
+ encoding_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFlowOutput.EncodingParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5911
+ ) -> None:
5912
+ '''The media stream that is associated with the output, and the parameters for that association.
5913
+
5914
+ :param encoding_name: The format that will be used to encode the data. For ancillary data streams, set the encoding name to ``smpte291`` . For audio streams, set the encoding name to ``pcm`` . For video streams on sources or outputs that use the CDI protocol, set the encoding name to ``raw`` . For video streams on sources or outputs that use the ST 2110 JPEG XS protocol, set the encoding name to ``jxsv`` .
5915
+ :param media_stream_name: A name that helps you distinguish one media stream from another.
5916
+ :param destination_configurations: The media streams that you want to associate with the output.
5917
+ :param encoding_parameters: A collection of parameters that determine how MediaConnect will convert the content. These fields only apply to outputs on flows that have a CDI source.
5918
+
5919
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-mediastreamoutputconfiguration.html
5920
+ :exampleMetadata: fixture=_generated
5921
+
5922
+ Example::
5923
+
5924
+ # The code below shows an example of how to instantiate this type.
5925
+ # The values are placeholders you should change.
5926
+ from aws_cdk import aws_mediaconnect as mediaconnect
5927
+
5928
+ media_stream_output_configuration_property = mediaconnect.CfnFlowOutput.MediaStreamOutputConfigurationProperty(
5929
+ encoding_name="encodingName",
5930
+ media_stream_name="mediaStreamName",
5931
+
5932
+ # the properties below are optional
5933
+ destination_configurations=[mediaconnect.CfnFlowOutput.DestinationConfigurationProperty(
5934
+ destination_ip="destinationIp",
5935
+ destination_port=123,
5936
+ interface=mediaconnect.CfnFlowOutput.InterfaceProperty(
5937
+ name="name"
5938
+ )
5939
+ )],
5940
+ encoding_parameters=mediaconnect.CfnFlowOutput.EncodingParametersProperty(
5941
+ compression_factor=123,
5942
+
5943
+ # the properties below are optional
5944
+ encoder_profile="encoderProfile"
5945
+ )
5946
+ )
5947
+ '''
5948
+ if __debug__:
5949
+ type_hints = typing.get_type_hints(_typecheckingstub__faa5e437983e66807a96f2eedebbdd774906faf99c35e9c25ec0ff0f66c49af3)
5950
+ check_type(argname="argument encoding_name", value=encoding_name, expected_type=type_hints["encoding_name"])
5951
+ check_type(argname="argument media_stream_name", value=media_stream_name, expected_type=type_hints["media_stream_name"])
5952
+ check_type(argname="argument destination_configurations", value=destination_configurations, expected_type=type_hints["destination_configurations"])
5953
+ check_type(argname="argument encoding_parameters", value=encoding_parameters, expected_type=type_hints["encoding_parameters"])
5954
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5955
+ "encoding_name": encoding_name,
5956
+ "media_stream_name": media_stream_name,
5957
+ }
5958
+ if destination_configurations is not None:
5959
+ self._values["destination_configurations"] = destination_configurations
5960
+ if encoding_parameters is not None:
5961
+ self._values["encoding_parameters"] = encoding_parameters
5962
+
5963
+ @builtins.property
5964
+ def encoding_name(self) -> builtins.str:
5965
+ '''The format that will be used to encode the data.
5966
+
5967
+ For ancillary data streams, set the encoding name to ``smpte291`` .
5968
+
5969
+ For audio streams, set the encoding name to ``pcm`` .
5970
+
5971
+ For video streams on sources or outputs that use the CDI protocol, set the encoding name to ``raw`` .
5972
+
5973
+ For video streams on sources or outputs that use the ST 2110 JPEG XS protocol, set the encoding name to ``jxsv`` .
5974
+
5975
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-mediastreamoutputconfiguration.html#cfn-mediaconnect-flowoutput-mediastreamoutputconfiguration-encodingname
5976
+ '''
5977
+ result = self._values.get("encoding_name")
5978
+ assert result is not None, "Required property 'encoding_name' is missing"
5979
+ return typing.cast(builtins.str, result)
5980
+
5981
+ @builtins.property
5982
+ def media_stream_name(self) -> builtins.str:
5983
+ '''A name that helps you distinguish one media stream from another.
5984
+
5985
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-mediastreamoutputconfiguration.html#cfn-mediaconnect-flowoutput-mediastreamoutputconfiguration-mediastreamname
5986
+ '''
5987
+ result = self._values.get("media_stream_name")
5988
+ assert result is not None, "Required property 'media_stream_name' is missing"
5989
+ return typing.cast(builtins.str, result)
5990
+
5991
+ @builtins.property
5992
+ def destination_configurations(
5993
+ self,
5994
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.DestinationConfigurationProperty"]]]]:
5995
+ '''The media streams that you want to associate with the output.
5996
+
5997
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-mediastreamoutputconfiguration.html#cfn-mediaconnect-flowoutput-mediastreamoutputconfiguration-destinationconfigurations
5998
+ '''
5999
+ result = self._values.get("destination_configurations")
6000
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.DestinationConfigurationProperty"]]]], result)
6001
+
6002
+ @builtins.property
6003
+ def encoding_parameters(
6004
+ self,
6005
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.EncodingParametersProperty"]]:
6006
+ '''A collection of parameters that determine how MediaConnect will convert the content.
6007
+
6008
+ These fields only apply to outputs on flows that have a CDI source.
6009
+
6010
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-mediastreamoutputconfiguration.html#cfn-mediaconnect-flowoutput-mediastreamoutputconfiguration-encodingparameters
6011
+ '''
6012
+ result = self._values.get("encoding_parameters")
6013
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFlowOutput.EncodingParametersProperty"]], result)
6014
+
6015
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6016
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6017
+
6018
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6019
+ return not (rhs == self)
6020
+
6021
+ def __repr__(self) -> str:
6022
+ return "MediaStreamOutputConfigurationProperty(%s)" % ", ".join(
6023
+ k + "=" + repr(v) for k, v in self._values.items()
6024
+ )
6025
+
4566
6026
  @jsii.data_type(
4567
6027
  jsii_type="aws-cdk-lib.aws_mediaconnect.CfnFlowOutput.VpcInterfaceAttachmentProperty",
4568
6028
  jsii_struct_bases=[],
@@ -4630,6 +6090,7 @@ class CfnFlowOutput(
4630
6090
  "destination": "destination",
4631
6091
  "encryption": "encryption",
4632
6092
  "max_latency": "maxLatency",
6093
+ "media_stream_output_configurations": "mediaStreamOutputConfigurations",
4633
6094
  "min_latency": "minLatency",
4634
6095
  "name": "name",
4635
6096
  "port": "port",
@@ -4650,6 +6111,7 @@ class CfnFlowOutputProps:
4650
6111
  destination: typing.Optional[builtins.str] = None,
4651
6112
  encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.EncryptionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4652
6113
  max_latency: typing.Optional[jsii.Number] = None,
6114
+ media_stream_output_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.MediaStreamOutputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4653
6115
  min_latency: typing.Optional[jsii.Number] = None,
4654
6116
  name: typing.Optional[builtins.str] = None,
4655
6117
  port: typing.Optional[jsii.Number] = None,
@@ -4667,6 +6129,7 @@ class CfnFlowOutputProps:
4667
6129
  :param destination: The IP address where you want to send the output.
4668
6130
  :param encryption: The encryption credentials that you want to use for the output.
4669
6131
  :param max_latency: The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.
6132
+ :param media_stream_output_configurations: The definition for each media stream that is associated with the output.
4670
6133
  :param min_latency: The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.
4671
6134
  :param name: The name of the output. This value must be unique within the current flow.
4672
6135
  :param port: The port to use when MediaConnect distributes content to the output.
@@ -4701,6 +6164,25 @@ class CfnFlowOutputProps:
4701
6164
  key_type="keyType"
4702
6165
  ),
4703
6166
  max_latency=123,
6167
+ media_stream_output_configurations=[mediaconnect.CfnFlowOutput.MediaStreamOutputConfigurationProperty(
6168
+ encoding_name="encodingName",
6169
+ media_stream_name="mediaStreamName",
6170
+
6171
+ # the properties below are optional
6172
+ destination_configurations=[mediaconnect.CfnFlowOutput.DestinationConfigurationProperty(
6173
+ destination_ip="destinationIp",
6174
+ destination_port=123,
6175
+ interface=mediaconnect.CfnFlowOutput.InterfaceProperty(
6176
+ name="name"
6177
+ )
6178
+ )],
6179
+ encoding_parameters=mediaconnect.CfnFlowOutput.EncodingParametersProperty(
6180
+ compression_factor=123,
6181
+
6182
+ # the properties below are optional
6183
+ encoder_profile="encoderProfile"
6184
+ )
6185
+ )],
4704
6186
  min_latency=123,
4705
6187
  name="name",
4706
6188
  port=123,
@@ -4721,6 +6203,7 @@ class CfnFlowOutputProps:
4721
6203
  check_type(argname="argument destination", value=destination, expected_type=type_hints["destination"])
4722
6204
  check_type(argname="argument encryption", value=encryption, expected_type=type_hints["encryption"])
4723
6205
  check_type(argname="argument max_latency", value=max_latency, expected_type=type_hints["max_latency"])
6206
+ check_type(argname="argument media_stream_output_configurations", value=media_stream_output_configurations, expected_type=type_hints["media_stream_output_configurations"])
4724
6207
  check_type(argname="argument min_latency", value=min_latency, expected_type=type_hints["min_latency"])
4725
6208
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4726
6209
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
@@ -4742,6 +6225,8 @@ class CfnFlowOutputProps:
4742
6225
  self._values["encryption"] = encryption
4743
6226
  if max_latency is not None:
4744
6227
  self._values["max_latency"] = max_latency
6228
+ if media_stream_output_configurations is not None:
6229
+ self._values["media_stream_output_configurations"] = media_stream_output_configurations
4745
6230
  if min_latency is not None:
4746
6231
  self._values["min_latency"] = min_latency
4747
6232
  if name is not None:
@@ -4830,6 +6315,17 @@ class CfnFlowOutputProps:
4830
6315
  result = self._values.get("max_latency")
4831
6316
  return typing.cast(typing.Optional[jsii.Number], result)
4832
6317
 
6318
+ @builtins.property
6319
+ def media_stream_output_configurations(
6320
+ self,
6321
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlowOutput.MediaStreamOutputConfigurationProperty]]]]:
6322
+ '''The definition for each media stream that is associated with the output.
6323
+
6324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html#cfn-mediaconnect-flowoutput-mediastreamoutputconfigurations
6325
+ '''
6326
+ result = self._values.get("media_stream_output_configurations")
6327
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlowOutput.MediaStreamOutputConfigurationProperty]]]], result)
6328
+
4833
6329
  @builtins.property
4834
6330
  def min_latency(self) -> typing.Optional[jsii.Number]:
4835
6331
  '''The minimum latency in milliseconds for SRT-based streams.
@@ -4922,7 +6418,10 @@ class CfnFlowOutputProps:
4922
6418
  "name": "name",
4923
6419
  "source": "source",
4924
6420
  "availability_zone": "availabilityZone",
6421
+ "maintenance": "maintenance",
6422
+ "media_streams": "mediaStreams",
4925
6423
  "source_failover_config": "sourceFailoverConfig",
6424
+ "vpc_interfaces": "vpcInterfaces",
4926
6425
  },
4927
6426
  )
4928
6427
  class CfnFlowProps:
@@ -4932,14 +6431,20 @@ class CfnFlowProps:
4932
6431
  name: builtins.str,
4933
6432
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
4934
6433
  availability_zone: typing.Optional[builtins.str] = None,
6434
+ maintenance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MaintenanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6435
+ media_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MediaStreamProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4935
6436
  source_failover_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.FailoverConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6437
+ vpc_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.VpcInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4936
6438
  ) -> None:
4937
6439
  '''Properties for defining a ``CfnFlow``.
4938
6440
 
4939
6441
  :param name: The name of the flow.
4940
6442
  :param source: The settings for the source that you want to use for the new flow.
4941
6443
  :param availability_zone: The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.
6444
+ :param maintenance: The maintenance settings you want to use for the flow.
6445
+ :param media_streams: The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow.
4942
6446
  :param source_failover_config: The settings for source failover.
6447
+ :param vpc_interfaces: The VPC interfaces that you added to this flow.
4943
6448
 
4944
6449
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html
4945
6450
  :exampleMetadata: fixture=_generated
@@ -4980,6 +6485,19 @@ class CfnFlowProps:
4980
6485
  ingest_port=123,
4981
6486
  max_bitrate=123,
4982
6487
  max_latency=123,
6488
+ max_sync_buffer=123,
6489
+ media_stream_source_configurations=[mediaconnect.CfnFlow.MediaStreamSourceConfigurationProperty(
6490
+ encoding_name="encodingName",
6491
+ media_stream_name="mediaStreamName",
6492
+
6493
+ # the properties below are optional
6494
+ input_configurations=[mediaconnect.CfnFlow.InputConfigurationProperty(
6495
+ input_port=123,
6496
+ interface=mediaconnect.CfnFlow.InterfaceProperty(
6497
+ name="name"
6498
+ )
6499
+ )]
6500
+ )],
4983
6501
  min_latency=123,
4984
6502
  name="name",
4985
6503
  protocol="protocol",
@@ -4996,6 +6514,33 @@ class CfnFlowProps:
4996
6514
 
4997
6515
  # the properties below are optional
4998
6516
  availability_zone="availabilityZone",
6517
+ maintenance=mediaconnect.CfnFlow.MaintenanceProperty(
6518
+ maintenance_day="maintenanceDay",
6519
+ maintenance_start_hour="maintenanceStartHour"
6520
+ ),
6521
+ media_streams=[mediaconnect.CfnFlow.MediaStreamProperty(
6522
+ media_stream_id=123,
6523
+ media_stream_name="mediaStreamName",
6524
+ media_stream_type="mediaStreamType",
6525
+
6526
+ # the properties below are optional
6527
+ attributes=mediaconnect.CfnFlow.MediaStreamAttributesProperty(
6528
+ fmtp=mediaconnect.CfnFlow.FmtpProperty(
6529
+ channel_order="channelOrder",
6530
+ colorimetry="colorimetry",
6531
+ exact_framerate="exactFramerate",
6532
+ par="par",
6533
+ range="range",
6534
+ scan_mode="scanMode",
6535
+ tcs="tcs"
6536
+ ),
6537
+ lang="lang"
6538
+ ),
6539
+ clock_rate=123,
6540
+ description="description",
6541
+ fmt=123,
6542
+ video_format="videoFormat"
6543
+ )],
4999
6544
  source_failover_config=mediaconnect.CfnFlow.FailoverConfigProperty(
5000
6545
  failover_mode="failoverMode",
5001
6546
  recovery_window=123,
@@ -5003,7 +6548,17 @@ class CfnFlowProps:
5003
6548
  primary_source="primarySource"
5004
6549
  ),
5005
6550
  state="state"
5006
- )
6551
+ ),
6552
+ vpc_interfaces=[mediaconnect.CfnFlow.VpcInterfaceProperty(
6553
+ name="name",
6554
+ role_arn="roleArn",
6555
+ security_group_ids=["securityGroupIds"],
6556
+ subnet_id="subnetId",
6557
+
6558
+ # the properties below are optional
6559
+ network_interface_ids=["networkInterfaceIds"],
6560
+ network_interface_type="networkInterfaceType"
6561
+ )]
5007
6562
  )
5008
6563
  '''
5009
6564
  if __debug__:
@@ -5011,15 +6566,24 @@ class CfnFlowProps:
5011
6566
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
5012
6567
  check_type(argname="argument source", value=source, expected_type=type_hints["source"])
5013
6568
  check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
6569
+ check_type(argname="argument maintenance", value=maintenance, expected_type=type_hints["maintenance"])
6570
+ check_type(argname="argument media_streams", value=media_streams, expected_type=type_hints["media_streams"])
5014
6571
  check_type(argname="argument source_failover_config", value=source_failover_config, expected_type=type_hints["source_failover_config"])
6572
+ check_type(argname="argument vpc_interfaces", value=vpc_interfaces, expected_type=type_hints["vpc_interfaces"])
5015
6573
  self._values: typing.Dict[builtins.str, typing.Any] = {
5016
6574
  "name": name,
5017
6575
  "source": source,
5018
6576
  }
5019
6577
  if availability_zone is not None:
5020
6578
  self._values["availability_zone"] = availability_zone
6579
+ if maintenance is not None:
6580
+ self._values["maintenance"] = maintenance
6581
+ if media_streams is not None:
6582
+ self._values["media_streams"] = media_streams
5021
6583
  if source_failover_config is not None:
5022
6584
  self._values["source_failover_config"] = source_failover_config
6585
+ if vpc_interfaces is not None:
6586
+ self._values["vpc_interfaces"] = vpc_interfaces
5023
6587
 
5024
6588
  @builtins.property
5025
6589
  def name(self) -> builtins.str:
@@ -5052,6 +6616,30 @@ class CfnFlowProps:
5052
6616
  result = self._values.get("availability_zone")
5053
6617
  return typing.cast(typing.Optional[builtins.str], result)
5054
6618
 
6619
+ @builtins.property
6620
+ def maintenance(
6621
+ self,
6622
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFlow.MaintenanceProperty]]:
6623
+ '''The maintenance settings you want to use for the flow.
6624
+
6625
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html#cfn-mediaconnect-flow-maintenance
6626
+ '''
6627
+ result = self._values.get("maintenance")
6628
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFlow.MaintenanceProperty]], result)
6629
+
6630
+ @builtins.property
6631
+ def media_streams(
6632
+ self,
6633
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlow.MediaStreamProperty]]]]:
6634
+ '''The media streams associated with the flow.
6635
+
6636
+ You can associate any of these media streams with sources and outputs on the flow.
6637
+
6638
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html#cfn-mediaconnect-flow-mediastreams
6639
+ '''
6640
+ result = self._values.get("media_streams")
6641
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlow.MediaStreamProperty]]]], result)
6642
+
5055
6643
  @builtins.property
5056
6644
  def source_failover_config(
5057
6645
  self,
@@ -5063,6 +6651,17 @@ class CfnFlowProps:
5063
6651
  result = self._values.get("source_failover_config")
5064
6652
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFlow.FailoverConfigProperty]], result)
5065
6653
 
6654
+ @builtins.property
6655
+ def vpc_interfaces(
6656
+ self,
6657
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlow.VpcInterfaceProperty]]]]:
6658
+ '''The VPC interfaces that you added to this flow.
6659
+
6660
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html#cfn-mediaconnect-flow-vpcinterfaces
6661
+ '''
6662
+ result = self._values.get("vpc_interfaces")
6663
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlow.VpcInterfaceProperty]]]], result)
6664
+
5066
6665
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
5067
6666
  return isinstance(rhs, self.__class__) and rhs._values == self._values
5068
6667
 
@@ -6255,6 +7854,10 @@ class CfnFlowVpcInterface(
6255
7854
  - Use CloudFormation to create a VPC interface to add to this flow. This can also be done as part of the previous step.
6256
7855
  - After CloudFormation has created the flow and the VPC interface, update the source to point to the VPC interface that you created.
6257
7856
 
7857
+ .. epigraph::
7858
+
7859
+ The previous steps must be undone before the CloudFormation stack can be deleted. Because the source is manually updated in step 3, CloudFormation is not aware of this change. The source must be returned to a standard source before CloudFormation stack deletion.
7860
+
6258
7861
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html
6259
7862
  :cloudformationResource: AWS::MediaConnect::FlowVpcInterface
6260
7863
  :exampleMetadata: fixture=_generated
@@ -7216,7 +8819,10 @@ def _typecheckingstub__3568a95be2a886825b3db731f10e2fdea8be142c554d1e2055d7e22f5
7216
8819
  name: builtins.str,
7217
8820
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
7218
8821
  availability_zone: typing.Optional[builtins.str] = None,
8822
+ maintenance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MaintenanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8823
+ media_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MediaStreamProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7219
8824
  source_failover_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.FailoverConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8825
+ vpc_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.VpcInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7220
8826
  ) -> None:
7221
8827
  """Type checking stubs"""
7222
8828
  pass
@@ -7251,12 +8857,30 @@ def _typecheckingstub__843065332a6d7586586605a6ec8a2bd932a36dd6774052d60e5f9fd8e
7251
8857
  """Type checking stubs"""
7252
8858
  pass
7253
8859
 
8860
+ def _typecheckingstub__ddd188e9c2d5f8f194cf0b4c16e8b355b0ebcec43d953e6b0c8b77128e640aab(
8861
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFlow.MaintenanceProperty]],
8862
+ ) -> None:
8863
+ """Type checking stubs"""
8864
+ pass
8865
+
8866
+ def _typecheckingstub__c580931c160d15b8c0f43f0fe96dc390b640ae81cbc1900b00f369aaa3c3f6e4(
8867
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlow.MediaStreamProperty]]]],
8868
+ ) -> None:
8869
+ """Type checking stubs"""
8870
+ pass
8871
+
7254
8872
  def _typecheckingstub__9d7deae7edf526ef9a6af2e16b592ef198ecb0cc777d1c7d97f392933ad97ef6(
7255
8873
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFlow.FailoverConfigProperty]],
7256
8874
  ) -> None:
7257
8875
  """Type checking stubs"""
7258
8876
  pass
7259
8877
 
8878
+ def _typecheckingstub__7e75424871a1b67422fa8fe727bf0720abe8ea217c131244844ca71d14e25f4d(
8879
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlow.VpcInterfaceProperty]]]],
8880
+ ) -> None:
8881
+ """Type checking stubs"""
8882
+ pass
8883
+
7260
8884
  def _typecheckingstub__023b62e8b380bcfa878c2a07568bc0d0f9912919827c329972ee2130250892b3(
7261
8885
  *,
7262
8886
  role_arn: builtins.str,
@@ -7282,6 +8906,19 @@ def _typecheckingstub__60d936fe41cb44293e591fd7a9b89da19bc9fc2509d0dacf4ad7a22a5
7282
8906
  """Type checking stubs"""
7283
8907
  pass
7284
8908
 
8909
+ def _typecheckingstub__2c34da6d27a4d46f87384739bd6ec7bcc9bf7866bb051703aa63a4b21e8b38dc(
8910
+ *,
8911
+ channel_order: typing.Optional[builtins.str] = None,
8912
+ colorimetry: typing.Optional[builtins.str] = None,
8913
+ exact_framerate: typing.Optional[builtins.str] = None,
8914
+ par: typing.Optional[builtins.str] = None,
8915
+ range: typing.Optional[builtins.str] = None,
8916
+ scan_mode: typing.Optional[builtins.str] = None,
8917
+ tcs: typing.Optional[builtins.str] = None,
8918
+ ) -> None:
8919
+ """Type checking stubs"""
8920
+ pass
8921
+
7285
8922
  def _typecheckingstub__00bf15dc37f493c33d6b2109cfa6283d2bb14bdc23b0ae4fd75a67ca60084ea8(
7286
8923
  *,
7287
8924
  bridge_arn: builtins.str,
@@ -7290,6 +8927,60 @@ def _typecheckingstub__00bf15dc37f493c33d6b2109cfa6283d2bb14bdc23b0ae4fd75a67ca6
7290
8927
  """Type checking stubs"""
7291
8928
  pass
7292
8929
 
8930
+ def _typecheckingstub__fbb4a04e87ed2fedc67d03bbbab23670facee0c55014d0c5d234881ded41ec58(
8931
+ *,
8932
+ input_port: jsii.Number,
8933
+ interface: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.InterfaceProperty, typing.Dict[builtins.str, typing.Any]]],
8934
+ ) -> None:
8935
+ """Type checking stubs"""
8936
+ pass
8937
+
8938
+ def _typecheckingstub__0ca0a6498a5e542f31081d78420cae2b37457c94dbd68dcead2dc4af50843b27(
8939
+ *,
8940
+ name: builtins.str,
8941
+ ) -> None:
8942
+ """Type checking stubs"""
8943
+ pass
8944
+
8945
+ def _typecheckingstub__57efc1d88b4fa5a6e6df4c17678237b4420bf63b5cd14e340198e67ed5a1ee60(
8946
+ *,
8947
+ maintenance_day: builtins.str,
8948
+ maintenance_start_hour: builtins.str,
8949
+ ) -> None:
8950
+ """Type checking stubs"""
8951
+ pass
8952
+
8953
+ def _typecheckingstub__98c9c952274e74dd38a0129bccf9e3c8688c812151f95c826ce99e20158cfe87(
8954
+ *,
8955
+ fmtp: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.FmtpProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8956
+ lang: typing.Optional[builtins.str] = None,
8957
+ ) -> None:
8958
+ """Type checking stubs"""
8959
+ pass
8960
+
8961
+ def _typecheckingstub__bc935e241ba7a00b3f70633b9ca54a5bca516c17065e6c6d8eeb7ab2523359be(
8962
+ *,
8963
+ media_stream_id: jsii.Number,
8964
+ media_stream_name: builtins.str,
8965
+ media_stream_type: builtins.str,
8966
+ attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MediaStreamAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8967
+ clock_rate: typing.Optional[jsii.Number] = None,
8968
+ description: typing.Optional[builtins.str] = None,
8969
+ fmt: typing.Optional[jsii.Number] = None,
8970
+ video_format: typing.Optional[builtins.str] = None,
8971
+ ) -> None:
8972
+ """Type checking stubs"""
8973
+ pass
8974
+
8975
+ def _typecheckingstub__c288224888dcd985ea78c20d06801a00405d4260bf960e8dbcac65f3e669aa4f(
8976
+ *,
8977
+ encoding_name: builtins.str,
8978
+ media_stream_name: builtins.str,
8979
+ input_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.InputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8980
+ ) -> None:
8981
+ """Type checking stubs"""
8982
+ pass
8983
+
7293
8984
  def _typecheckingstub__a502d8c706596e3abd881dc963357d969893e22e8d25e78085445e09c58ac78b(
7294
8985
  *,
7295
8986
  primary_source: builtins.str,
@@ -7307,6 +8998,8 @@ def _typecheckingstub__0c35ebd36bb52715c021bc299f222a377254ec8a3bd90d9c933fbefca
7307
8998
  ingest_port: typing.Optional[jsii.Number] = None,
7308
8999
  max_bitrate: typing.Optional[jsii.Number] = None,
7309
9000
  max_latency: typing.Optional[jsii.Number] = None,
9001
+ max_sync_buffer: typing.Optional[jsii.Number] = None,
9002
+ media_stream_source_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MediaStreamSourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7310
9003
  min_latency: typing.Optional[jsii.Number] = None,
7311
9004
  name: typing.Optional[builtins.str] = None,
7312
9005
  protocol: typing.Optional[builtins.str] = None,
@@ -7330,6 +9023,18 @@ def _typecheckingstub__866ca963188936c1dd8965fb722dc7f781261eab36e78ecdb20a9d41b
7330
9023
  """Type checking stubs"""
7331
9024
  pass
7332
9025
 
9026
+ def _typecheckingstub__d976d1dab1b395c0026dcc2152c4dd635ae54d817a1f10c4d8f2725ac4862ad4(
9027
+ *,
9028
+ name: builtins.str,
9029
+ role_arn: builtins.str,
9030
+ security_group_ids: typing.Sequence[builtins.str],
9031
+ subnet_id: builtins.str,
9032
+ network_interface_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
9033
+ network_interface_type: typing.Optional[builtins.str] = None,
9034
+ ) -> None:
9035
+ """Type checking stubs"""
9036
+ pass
9037
+
7333
9038
  def _typecheckingstub__17ecd85086df3a96cb74577c3e3a831ea91a89b617bcd18f7684fd357569ebd4(
7334
9039
  scope: _constructs_77d1e7e8.Construct,
7335
9040
  id: builtins.str,
@@ -7438,6 +9143,7 @@ def _typecheckingstub__50a855342b002f2aaf180af2a85e45ce23346b4a5b582c00ee1a8474e
7438
9143
  destination: typing.Optional[builtins.str] = None,
7439
9144
  encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.EncryptionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7440
9145
  max_latency: typing.Optional[jsii.Number] = None,
9146
+ media_stream_output_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.MediaStreamOutputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7441
9147
  min_latency: typing.Optional[jsii.Number] = None,
7442
9148
  name: typing.Optional[builtins.str] = None,
7443
9149
  port: typing.Optional[jsii.Number] = None,
@@ -7503,6 +9209,12 @@ def _typecheckingstub__9801fdc6b598fc4f2e913edc8984f374a7594553b0a1ef32ea0fa7be0
7503
9209
  """Type checking stubs"""
7504
9210
  pass
7505
9211
 
9212
+ def _typecheckingstub__c99ca24b6208e72328e18819b003e97cbf14fb0f94304256c59924c6e02ae32d(
9213
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFlowOutput.MediaStreamOutputConfigurationProperty]]]],
9214
+ ) -> None:
9215
+ """Type checking stubs"""
9216
+ pass
9217
+
7506
9218
  def _typecheckingstub__ddb7401a37f3ff6ff7dc25a56db1a28806074c96fc3f42a6bd90cc4feab9b693(
7507
9219
  value: typing.Optional[jsii.Number],
7508
9220
  ) -> None:
@@ -7545,6 +9257,23 @@ def _typecheckingstub__65a3e058407bcf8bd6fa065c9fd3cd66a1c54e7edb3b48af25c7893fd
7545
9257
  """Type checking stubs"""
7546
9258
  pass
7547
9259
 
9260
+ def _typecheckingstub__8b62fc10e1fb76cee67ab63dde918a0006c11ce38e8af823e4d2f2770e4d5765(
9261
+ *,
9262
+ destination_ip: builtins.str,
9263
+ destination_port: jsii.Number,
9264
+ interface: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.InterfaceProperty, typing.Dict[builtins.str, typing.Any]]],
9265
+ ) -> None:
9266
+ """Type checking stubs"""
9267
+ pass
9268
+
9269
+ def _typecheckingstub__d7e858c0a050e7b9bf4f84c7f6034ad1cf704a2a9a2b07a5b472d598f1b62d5f(
9270
+ *,
9271
+ compression_factor: jsii.Number,
9272
+ encoder_profile: typing.Optional[builtins.str] = None,
9273
+ ) -> None:
9274
+ """Type checking stubs"""
9275
+ pass
9276
+
7548
9277
  def _typecheckingstub__12ea6e5693abf5b0e777cf50bd86212ef7db4809c0713169b65c0d055bed2f19(
7549
9278
  *,
7550
9279
  role_arn: builtins.str,
@@ -7555,6 +9284,23 @@ def _typecheckingstub__12ea6e5693abf5b0e777cf50bd86212ef7db4809c0713169b65c0d055
7555
9284
  """Type checking stubs"""
7556
9285
  pass
7557
9286
 
9287
+ def _typecheckingstub__5cc7770548eb391a3e7796f01956da0a9add137c57ab671911bb6c1a675e3dcd(
9288
+ *,
9289
+ name: builtins.str,
9290
+ ) -> None:
9291
+ """Type checking stubs"""
9292
+ pass
9293
+
9294
+ def _typecheckingstub__faa5e437983e66807a96f2eedebbdd774906faf99c35e9c25ec0ff0f66c49af3(
9295
+ *,
9296
+ encoding_name: builtins.str,
9297
+ media_stream_name: builtins.str,
9298
+ destination_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.DestinationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
9299
+ encoding_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.EncodingParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9300
+ ) -> None:
9301
+ """Type checking stubs"""
9302
+ pass
9303
+
7558
9304
  def _typecheckingstub__7072f99adeda4341a6581cacf2975b777cc5b063364d5416156250ca7f1e5619(
7559
9305
  *,
7560
9306
  vpc_interface_name: typing.Optional[builtins.str] = None,
@@ -7571,6 +9317,7 @@ def _typecheckingstub__90cee4cbdefa91956af92950bb2bfd2da4fa4f982f439596444cda525
7571
9317
  destination: typing.Optional[builtins.str] = None,
7572
9318
  encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.EncryptionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7573
9319
  max_latency: typing.Optional[jsii.Number] = None,
9320
+ media_stream_output_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlowOutput.MediaStreamOutputConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7574
9321
  min_latency: typing.Optional[jsii.Number] = None,
7575
9322
  name: typing.Optional[builtins.str] = None,
7576
9323
  port: typing.Optional[jsii.Number] = None,
@@ -7587,7 +9334,10 @@ def _typecheckingstub__32a16a7697723a7ef816aaa9d297ca08cd44085f922995184f8bfdfde
7587
9334
  name: builtins.str,
7588
9335
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
7589
9336
  availability_zone: typing.Optional[builtins.str] = None,
9337
+ maintenance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MaintenanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9338
+ media_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.MediaStreamProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7590
9339
  source_failover_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.FailoverConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9340
+ vpc_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFlow.VpcInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7591
9341
  ) -> None:
7592
9342
  """Type checking stubs"""
7593
9343
  pass