# Copyright (c) 2012-2024, 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 boolean, double, integer
[docs]class Channel(AWSObject):
"""
`Channel <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html>`__
"""
resource_type = "AWS::IVS::Channel"
props: PropsDictType = {
"Authorized": (boolean, False),
"InsecureIngest": (boolean, False),
"LatencyMode": (str, False),
"Name": (str, False),
"Preset": (str, False),
"RecordingConfigurationArn": (str, False),
"Tags": (Tags, False),
"Type": (str, False),
}
[docs]class Video(AWSProperty):
"""
`Video <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html>`__
"""
props: PropsDictType = {
"Bitrate": (integer, False),
"Framerate": (double, False),
"Height": (integer, False),
"Width": (integer, False),
}
[docs]class EncoderConfiguration(AWSObject):
"""
`EncoderConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html>`__
"""
resource_type = "AWS::IVS::EncoderConfiguration"
props: PropsDictType = {
"Name": (str, False),
"Tags": (Tags, False),
"Video": (Video, False),
}
[docs]class PlaybackKeyPair(AWSObject):
"""
`PlaybackKeyPair <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html>`__
"""
resource_type = "AWS::IVS::PlaybackKeyPair"
props: PropsDictType = {
"Name": (str, False),
"PublicKeyMaterial": (str, False),
"Tags": (Tags, False),
}
[docs]class PlaybackRestrictionPolicy(AWSObject):
"""
`PlaybackRestrictionPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html>`__
"""
resource_type = "AWS::IVS::PlaybackRestrictionPolicy"
props: PropsDictType = {
"AllowedCountries": ([str], True),
"AllowedOrigins": ([str], True),
"EnableStrictOriginEnforcement": (boolean, False),
"Name": (str, False),
"Tags": (Tags, False),
}
[docs]class S3DestinationConfiguration(AWSProperty):
"""
`S3DestinationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-s3destinationconfiguration.html>`__
"""
props: PropsDictType = {
"BucketName": (str, True),
}
[docs]class DestinationConfiguration(AWSProperty):
"""
`DestinationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-destinationconfiguration.html>`__
"""
props: PropsDictType = {
"S3": (S3DestinationConfiguration, False),
}
[docs]class RenditionConfiguration(AWSProperty):
"""
`RenditionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-renditionconfiguration.html>`__
"""
props: PropsDictType = {
"RenditionSelection": (str, False),
"Renditions": ([str], False),
}
[docs]class ThumbnailConfiguration(AWSProperty):
"""
`ThumbnailConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html>`__
"""
props: PropsDictType = {
"RecordingMode": (str, False),
"Resolution": (str, False),
"Storage": ([str], False),
"TargetIntervalSeconds": (integer, False),
}
[docs]class RecordingConfiguration(AWSObject):
"""
`RecordingConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html>`__
"""
resource_type = "AWS::IVS::RecordingConfiguration"
props: PropsDictType = {
"DestinationConfiguration": (DestinationConfiguration, True),
"Name": (str, False),
"RecordingReconnectWindowSeconds": (integer, False),
"RenditionConfiguration": (RenditionConfiguration, False),
"Tags": (Tags, False),
"ThumbnailConfiguration": (ThumbnailConfiguration, False),
}
[docs]class Stage(AWSObject):
"""
`Stage <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html>`__
"""
resource_type = "AWS::IVS::Stage"
props: PropsDictType = {
"Name": (str, False),
"Tags": (Tags, False),
}
[docs]class S3StorageConfiguration(AWSProperty):
"""
`S3StorageConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-storageconfiguration-s3storageconfiguration.html>`__
"""
props: PropsDictType = {
"BucketName": (str, True),
}
[docs]class StorageConfiguration(AWSObject):
"""
`StorageConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html>`__
"""
resource_type = "AWS::IVS::StorageConfiguration"
props: PropsDictType = {
"Name": (str, False),
"S3": (S3StorageConfiguration, True),
"Tags": (Tags, False),
}
[docs]class StreamKey(AWSObject):
"""
`StreamKey <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html>`__
"""
resource_type = "AWS::IVS::StreamKey"
props: PropsDictType = {
"ChannelArn": (str, True),
"Tags": (Tags, False),
}