# Copyright (c) 2012-2025, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import double, integer
[docs]class BridgeNetworkOutput(AWSProperty):
"""
`BridgeNetworkOutput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgeoutput-bridgenetworkoutput.html>`__
"""
props: PropsDictType = {
"IpAddress": (str, True),
"NetworkName": (str, True),
"Port": (integer, True),
"Protocol": (str, True),
"Ttl": (integer, True),
}
[docs]class BridgeOutputProperty(AWSProperty):
"""
`BridgeOutputProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgeoutput.html>`__
"""
props: PropsDictType = {
"NetworkOutput": (BridgeNetworkOutput, False),
}
[docs]class VpcInterfaceAttachment(AWSProperty):
"""
`VpcInterfaceAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-vpcinterfaceattachment.html>`__
"""
props: PropsDictType = {
"VpcInterfaceName": (str, False),
}
[docs]class BridgeFlowSource(AWSProperty):
"""
`BridgeFlowSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgeflowsource.html>`__
"""
props: PropsDictType = {
"FlowArn": (str, True),
"FlowVpcInterfaceAttachment": (VpcInterfaceAttachment, False),
}
[docs]class MulticastSourceSettings(AWSProperty):
"""
`MulticastSourceSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-multicastsourcesettings.html>`__
"""
props: PropsDictType = {
"MulticastSourceIp": (str, False),
}
[docs]class BridgeNetworkSource(AWSProperty):
"""
`BridgeNetworkSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgenetworksource.html>`__
"""
props: PropsDictType = {
"MulticastIp": (str, True),
"MulticastSourceSettings": (MulticastSourceSettings, False),
"NetworkName": (str, True),
"Port": (integer, True),
"Protocol": (str, True),
}
[docs]class BridgeSourceProperty(AWSProperty):
"""
`BridgeSourceProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgesource.html>`__
"""
props: PropsDictType = {
"FlowSource": (BridgeFlowSource, False),
"NetworkSource": (BridgeNetworkSource, False),
}
[docs]class EgressGatewayBridge(AWSProperty):
"""
`EgressGatewayBridge <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-egressgatewaybridge.html>`__
"""
props: PropsDictType = {
"MaxBitrate": (integer, True),
}
[docs]class SourcePriority(AWSProperty):
"""
`SourcePriority <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-sourcepriority.html>`__
"""
props: PropsDictType = {
"PrimarySource": (str, True),
}
[docs]class FailoverConfig(AWSProperty):
"""
`FailoverConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-failoverconfig.html>`__
"""
props: PropsDictType = {
"FailoverMode": (str, False),
"RecoveryWindow": (integer, False),
"SourcePriority": (SourcePriority, False),
"State": (str, False),
}
[docs]class IngressGatewayBridge(AWSProperty):
"""
`IngressGatewayBridge <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-ingressgatewaybridge.html>`__
"""
props: PropsDictType = {
"MaxBitrate": (integer, True),
"MaxOutputs": (integer, True),
}
[docs]class Bridge(AWSObject):
"""
`Bridge <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html>`__
"""
resource_type = "AWS::MediaConnect::Bridge"
props: PropsDictType = {
"EgressGatewayBridge": (EgressGatewayBridge, False),
"IngressGatewayBridge": (IngressGatewayBridge, False),
"Name": (str, True),
"Outputs": ([BridgeOutputProperty], False),
"PlacementArn": (str, True),
"SourceFailoverConfig": (FailoverConfig, False),
"Sources": ([BridgeSourceProperty], True),
}
[docs]class BridgeOutput(AWSObject):
"""
`BridgeOutput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html>`__
"""
resource_type = "AWS::MediaConnect::BridgeOutput"
props: PropsDictType = {
"BridgeArn": (str, True),
"Name": (str, True),
"NetworkOutput": (BridgeNetworkOutput, True),
}
[docs]class BridgeSource(AWSObject):
"""
`BridgeSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html>`__
"""
resource_type = "AWS::MediaConnect::BridgeSource"
props: PropsDictType = {
"BridgeArn": (str, True),
"FlowSource": (BridgeFlowSource, False),
"Name": (str, True),
"NetworkSource": (BridgeNetworkSource, False),
}
[docs]class EncodingConfig(AWSProperty):
"""
`EncodingConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encodingconfig.html>`__
"""
props: PropsDictType = {
"EncodingProfile": (str, False),
"VideoMaxBitrate": (integer, False),
}
[docs]class Maintenance(AWSProperty):
"""
`Maintenance <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-maintenance.html>`__
"""
props: PropsDictType = {
"MaintenanceDay": (str, True),
"MaintenanceStartHour": (str, True),
}
[docs]class Fmtp(AWSProperty):
"""
`Fmtp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-fmtp.html>`__
"""
props: PropsDictType = {
"ChannelOrder": (str, False),
"Colorimetry": (str, False),
"ExactFramerate": (str, False),
"Par": (str, False),
"Range": (str, False),
"ScanMode": (str, False),
"Tcs": (str, False),
}
[docs]class NdiDiscoveryServerConfig(AWSProperty):
"""
`NdiDiscoveryServerConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-ndidiscoveryserverconfig.html>`__
"""
props: PropsDictType = {
"DiscoveryServerAddress": (str, True),
"DiscoveryServerPort": (integer, False),
"VpcInterfaceAdapter": (str, True),
}
[docs]class NdiConfig(AWSProperty):
"""
`NdiConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-ndiconfig.html>`__
"""
props: PropsDictType = {
"MachineName": (str, False),
"NdiDiscoveryServers": ([NdiDiscoveryServerConfig], False),
"NdiState": (str, False),
}
[docs]class Encryption(AWSProperty):
"""
`Encryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html>`__
"""
props: PropsDictType = {
"Algorithm": (str, False),
"KeyType": (str, False),
"RoleArn": (str, True),
"SecretArn": (str, False),
}
[docs]class SecretsManagerEncryptionKeyConfiguration(AWSProperty):
"""
`SecretsManagerEncryptionKeyConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-secretsmanagerencryptionkeyconfiguration.html>`__
"""
props: PropsDictType = {
"RoleArn": (str, True),
"SecretArn": (str, True),
}
[docs]class FlowTransitEncryptionKeyConfiguration(AWSProperty):
"""
`FlowTransitEncryptionKeyConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-flowtransitencryptionkeyconfiguration.html>`__
"""
props: PropsDictType = {
"Automatic": (dict, False),
"SecretsManager": (SecretsManagerEncryptionKeyConfiguration, False),
}
[docs]class FlowTransitEncryption(AWSProperty):
"""
`FlowTransitEncryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-flowtransitencryption.html>`__
"""
props: PropsDictType = {
"EncryptionKeyConfiguration": (FlowTransitEncryptionKeyConfiguration, True),
"EncryptionKeyType": (str, False),
}
[docs]class GatewayBridgeSource(AWSProperty):
"""
`GatewayBridgeSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-gatewaybridgesource.html>`__
"""
props: PropsDictType = {
"BridgeArn": (str, True),
"VpcInterfaceAttachment": (VpcInterfaceAttachment, False),
}
[docs]class Interface(AWSProperty):
"""
`Interface <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-interface.html>`__
"""
props: PropsDictType = {
"Name": (str, True),
}
[docs]class NdiSourceSettings(AWSProperty):
"""
`NdiSourceSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-ndisourcesettings.html>`__
"""
props: PropsDictType = {
"SourceName": (str, False),
}
[docs]class Source(AWSProperty):
"""
`Source <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html>`__
"""
props: PropsDictType = {
"Decryption": (Encryption, False),
"Description": (str, False),
"EntitlementArn": (str, False),
"GatewayBridgeSource": (GatewayBridgeSource, False),
"IngestIp": (str, False),
"IngestPort": (integer, False),
"MaxBitrate": (integer, False),
"MaxLatency": (integer, False),
"MaxSyncBuffer": (integer, False),
"MediaStreamSourceConfigurations": ([MediaStreamSourceConfiguration], False),
"MinLatency": (integer, False),
"Name": (str, False),
"NdiSourceSettings": (NdiSourceSettings, False),
"Protocol": (str, False),
"RouterIntegrationState": (str, False),
"RouterIntegrationTransitDecryption": (FlowTransitEncryption, False),
"SourceArn": (str, False),
"SourceIngestPort": (str, False),
"SourceListenerAddress": (str, False),
"SourceListenerPort": (integer, False),
"StreamId": (str, False),
"Tags": (Tags, False),
"VpcInterfaceName": (str, False),
"WhitelistCidr": (str, False),
}
[docs]class SilentAudio(AWSProperty):
"""
`SilentAudio <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-silentaudio.html>`__
"""
props: PropsDictType = {
"State": (str, False),
"ThresholdSeconds": (integer, False),
}
[docs]class AudioMonitoringSetting(AWSProperty):
"""
`AudioMonitoringSetting <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-audiomonitoringsetting.html>`__
"""
props: PropsDictType = {
"SilentAudio": (SilentAudio, False),
}
[docs]class BlackFrames(AWSProperty):
"""
`BlackFrames <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-blackframes.html>`__
"""
props: PropsDictType = {
"State": (str, False),
"ThresholdSeconds": (integer, False),
}
[docs]class FrozenFrames(AWSProperty):
"""
`FrozenFrames <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-frozenframes.html>`__
"""
props: PropsDictType = {
"State": (str, False),
"ThresholdSeconds": (integer, False),
}
[docs]class VideoMonitoringSetting(AWSProperty):
"""
`VideoMonitoringSetting <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-videomonitoringsetting.html>`__
"""
props: PropsDictType = {
"BlackFrames": (BlackFrames, False),
"FrozenFrames": (FrozenFrames, False),
}
[docs]class SourceMonitoringConfig(AWSProperty):
"""
`SourceMonitoringConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-sourcemonitoringconfig.html>`__
"""
props: PropsDictType = {
"AudioMonitoringSettings": ([AudioMonitoringSetting], False),
"ContentQualityAnalysisState": (str, False),
"ThumbnailState": (str, False),
"VideoMonitoringSettings": ([VideoMonitoringSetting], False),
}
[docs]class VpcInterface(AWSProperty):
"""
`VpcInterface <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterface.html>`__
"""
props: PropsDictType = {
"Name": (str, True),
"NetworkInterfaceIds": ([str], False),
"NetworkInterfaceType": (str, False),
"RoleArn": (str, True),
"SecurityGroupIds": ([str], True),
"SubnetId": (str, True),
"Tags": (Tags, False),
}
[docs]class Flow(AWSObject):
"""
`Flow <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html>`__
"""
resource_type = "AWS::MediaConnect::Flow"
props: PropsDictType = {
"AvailabilityZone": (str, False),
"EncodingConfig": (EncodingConfig, False),
"FlowSize": (str, False),
"Maintenance": (Maintenance, False),
"MediaStreams": ([MediaStream], False),
"Name": (str, True),
"NdiConfig": (NdiConfig, False),
"Source": (Source, True),
"SourceFailoverConfig": (FailoverConfig, False),
"SourceMonitoringConfig": (SourceMonitoringConfig, False),
"Tags": (Tags, False),
"VpcInterfaces": ([VpcInterface], False),
}
[docs]class FlowEntitlement(AWSObject):
"""
`FlowEntitlement <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html>`__
"""
resource_type = "AWS::MediaConnect::FlowEntitlement"
props: PropsDictType = {
"DataTransferSubscriberFeePercent": (integer, False),
"Description": (str, True),
"Encryption": (Encryption, False),
"EntitlementStatus": (str, False),
"FlowArn": (str, True),
"Name": (str, True),
"Subscribers": ([str], True),
"Tags": (Tags, False),
}
[docs]class FlowOutputEncryption(AWSProperty):
"""
`FlowOutputEncryption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encryption.html>`__
"""
props: PropsDictType = {
"Algorithm": (str, False),
"KeyType": (str, False),
"RoleArn": (str, True),
"SecretArn": (str, True),
}
[docs]class DestinationConfiguration(AWSProperty):
"""
`DestinationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-destinationconfiguration.html>`__
"""
props: PropsDictType = {
"DestinationIp": (str, True),
"DestinationPort": (integer, True),
"Interface": (Interface, True),
}
[docs]class EncodingParameters(AWSProperty):
"""
`EncodingParameters <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encodingparameters.html>`__
"""
props: PropsDictType = {
"CompressionFactor": (double, True),
"EncoderProfile": (str, False),
}
[docs]class FlowOutput(AWSObject):
"""
`FlowOutput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html>`__
"""
resource_type = "AWS::MediaConnect::FlowOutput"
props: PropsDictType = {
"CidrAllowList": ([str], False),
"Description": (str, False),
"Destination": (str, False),
"Encryption": (FlowOutputEncryption, False),
"FlowArn": (str, True),
"MaxLatency": (integer, False),
"MediaStreamOutputConfigurations": ([MediaStreamOutputConfiguration], False),
"MinLatency": (integer, False),
"Name": (str, False),
"NdiProgramName": (str, False),
"NdiSpeedHqQuality": (integer, False),
"OutputStatus": (str, False),
"Port": (integer, False),
"Protocol": (str, False),
"RemoteId": (str, False),
"RouterIntegrationState": (str, False),
"RouterIntegrationTransitEncryption": (FlowTransitEncryption, False),
"SmoothingLatency": (integer, False),
"StreamId": (str, False),
"Tags": (Tags, False),
"VpcInterfaceAttachment": (VpcInterfaceAttachment, False),
}
[docs]class FlowSource(AWSObject):
"""
`FlowSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html>`__
"""
resource_type = "AWS::MediaConnect::FlowSource"
props: PropsDictType = {
"Decryption": (Encryption, False),
"Description": (str, True),
"FlowArn": (str, True),
"GatewayBridgeSource": (GatewayBridgeSource, False),
"IngestPort": (integer, False),
"MaxBitrate": (integer, False),
"MaxLatency": (integer, False),
"MinLatency": (integer, False),
"Name": (str, True),
"Protocol": (str, False),
"SourceListenerAddress": (str, False),
"SourceListenerPort": (integer, False),
"StreamId": (str, False),
"Tags": (Tags, False),
"VpcInterfaceName": (str, False),
"WhitelistCidr": (str, False),
}
[docs]class FlowVpcInterface(AWSObject):
"""
`FlowVpcInterface <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html>`__
"""
resource_type = "AWS::MediaConnect::FlowVpcInterface"
props: PropsDictType = {
"FlowArn": (str, True),
"Name": (str, True),
"RoleArn": (str, True),
"SecurityGroupIds": ([str], True),
"SubnetId": (str, True),
"Tags": (Tags, False),
}
[docs]class GatewayNetwork(AWSProperty):
"""
`GatewayNetwork <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-gateway-gatewaynetwork.html>`__
"""
props: PropsDictType = {
"CidrBlock": (str, True),
"Name": (str, True),
}
[docs]class Gateway(AWSObject):
"""
`Gateway <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html>`__
"""
resource_type = "AWS::MediaConnect::Gateway"
props: PropsDictType = {
"EgressCidrBlocks": ([str], True),
"Name": (str, True),
"Networks": ([GatewayNetwork], True),
}
[docs]class PreferredDayTimeMaintenanceConfiguration(AWSProperty):
"""
`PreferredDayTimeMaintenanceConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-preferreddaytimemaintenanceconfiguration.html>`__
"""
props: PropsDictType = {
"Day": (str, True),
"Time": (str, True),
}
[docs]class MaintenanceConfiguration(AWSProperty):
"""
`MaintenanceConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-maintenanceconfiguration.html>`__
"""
props: PropsDictType = {
"Default": (dict, False),
"PreferredDayTime": (PreferredDayTimeMaintenanceConfiguration, False),
}
[docs]class SrtDecryptionConfiguration(AWSProperty):
"""
`SrtDecryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routerinput-srtdecryptionconfiguration.html>`__
"""
props: PropsDictType = {
"EncryptionKey": (SecretsManagerEncryptionKeyConfiguration, True),
}
[docs]class PublicRouterNetworkInterfaceRule(AWSProperty):
"""
`PublicRouterNetworkInterfaceRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routernetworkinterface-publicrouternetworkinterfacerule.html>`__
"""
props: PropsDictType = {
"Cidr": (str, True),
}
[docs]class PublicRouterNetworkInterfaceConfiguration(AWSProperty):
"""
`PublicRouterNetworkInterfaceConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routernetworkinterface-publicrouternetworkinterfaceconfiguration.html>`__
"""
props: PropsDictType = {
"AllowRules": ([PublicRouterNetworkInterfaceRule], True),
}
[docs]class VpcRouterNetworkInterfaceConfiguration(AWSProperty):
"""
`VpcRouterNetworkInterfaceConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routernetworkinterface-vpcrouternetworkinterfaceconfiguration.html>`__
"""
props: PropsDictType = {
"SecurityGroupIds": ([str], True),
"SubnetId": (str, True),
}
[docs]class RouterNetworkInterfaceConfiguration(AWSProperty):
"""
`RouterNetworkInterfaceConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routernetworkinterface-routernetworkinterfaceconfiguration.html>`__
"""
props: PropsDictType = {
"Public": (PublicRouterNetworkInterfaceConfiguration, False),
"Vpc": (VpcRouterNetworkInterfaceConfiguration, False),
}
[docs]class RouterNetworkInterface(AWSObject):
"""
`RouterNetworkInterface <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-routernetworkinterface.html>`__
"""
resource_type = "AWS::MediaConnect::RouterNetworkInterface"
props: PropsDictType = {
"Configuration": (RouterNetworkInterfaceConfiguration, True),
"Name": (str, True),
"RegionName": (str, False),
"Tags": (Tags, False),
}
[docs]class RistRouterOutputConfiguration(AWSProperty):
"""
`RistRouterOutputConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-ristrouteroutputconfiguration.html>`__
"""
props: PropsDictType = {
"DestinationAddress": (str, True),
"DestinationPort": (integer, True),
}
[docs]class RtpRouterOutputConfiguration(AWSProperty):
"""
`RtpRouterOutputConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-rtprouteroutputconfiguration.html>`__
"""
props: PropsDictType = {
"DestinationAddress": (str, True),
"DestinationPort": (integer, True),
"ForwardErrorCorrection": (str, False),
}
[docs]class SrtEncryptionConfiguration(AWSProperty):
"""
`SrtEncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-srtencryptionconfiguration.html>`__
"""
props: PropsDictType = {
"EncryptionKey": (SecretsManagerEncryptionKeyConfiguration, True),
}
[docs]class SrtCallerRouterOutputConfiguration(AWSProperty):
"""
`SrtCallerRouterOutputConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-srtcallerrouteroutputconfiguration.html>`__
"""
props: PropsDictType = {
"DestinationAddress": (str, True),
"DestinationPort": (integer, True),
"EncryptionConfiguration": (SrtEncryptionConfiguration, False),
"MinimumLatencyMilliseconds": (integer, True),
"StreamId": (str, False),
}
[docs]class SrtListenerRouterOutputConfiguration(AWSProperty):
"""
`SrtListenerRouterOutputConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-srtlistenerrouteroutputconfiguration.html>`__
"""
props: PropsDictType = {
"EncryptionConfiguration": (SrtEncryptionConfiguration, False),
"MinimumLatencyMilliseconds": (integer, True),
"Port": (integer, True),
}
[docs]class RouterOutputProtocolConfiguration(AWSProperty):
"""
`RouterOutputProtocolConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-routeroutputprotocolconfiguration.html>`__
"""
props: PropsDictType = {
"Rist": (RistRouterOutputConfiguration, False),
"Rtp": (RtpRouterOutputConfiguration, False),
"SrtCaller": (SrtCallerRouterOutputConfiguration, False),
"SrtListener": (SrtListenerRouterOutputConfiguration, False),
}
[docs]class StandardRouterOutputConfiguration(AWSProperty):
"""
`StandardRouterOutputConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-standardrouteroutputconfiguration.html>`__
"""
props: PropsDictType = {
"NetworkInterfaceArn": (str, True),
"Protocol": (str, False),
"ProtocolConfiguration": (RouterOutputProtocolConfiguration, True),
}
[docs]class RouterOutputConfiguration(AWSProperty):
"""
`RouterOutputConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-routeroutput-routeroutputconfiguration.html>`__
"""
props: PropsDictType = {
"MediaConnectFlow": (MediaConnectFlowRouterOutputConfiguration, False),
"MediaLiveInput": (MediaLiveInputRouterOutputConfiguration, False),
"Standard": (StandardRouterOutputConfiguration, False),
}
[docs]class RouterOutput(AWSObject):
"""
`RouterOutput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-routeroutput.html>`__
"""
resource_type = "AWS::MediaConnect::RouterOutput"
props: PropsDictType = {
"AvailabilityZone": (str, False),
"Configuration": (RouterOutputConfiguration, True),
"MaintenanceConfiguration": (MaintenanceConfiguration, False),
"MaximumBitrate": (integer, True),
"Name": (str, True),
"RegionName": (str, False),
"RoutingScope": (str, True),
"Tags": (Tags, False),
"Tier": (str, True),
}