Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates from spec version 135.0.0 #2170

Merged
merged 1 commit into from
Aug 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions troposphere/certificatemanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class Certificate(AWSObject):
"CertificateTransparencyLoggingPreference": (str, False),
"DomainName": (str, True),
"DomainValidationOptions": ([DomainValidationOption], False),
"KeyAlgorithm": (str, False),
"SubjectAlternativeNames": ([str], False),
"Tags": (validate_tags_or_list, False),
"ValidationMethod": (str, False),
Expand Down
2 changes: 1 addition & 1 deletion troposphere/cloudwatch.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

class MetricDimension(AWSProperty):
"""
`MetricDimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html>`__
`MetricDimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-dimension.html>`__
"""

props: PropsDictType = {
Expand Down
22 changes: 22 additions & 0 deletions troposphere/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,14 +161,36 @@ class ConfigurationAggregator(AWSObject):
}


class ExclusionByResourceTypes(AWSProperty):
"""
`ExclusionByResourceTypes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-exclusionbyresourcetypes.html>`__
"""

props: PropsDictType = {
"ResourceTypes": ([str], True),
}


class RecordingStrategy(AWSProperty):
"""
`RecordingStrategy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingstrategy.html>`__
"""

props: PropsDictType = {
"UseOnly": (str, True),
}


class RecordingGroup(AWSProperty):
"""
`RecordingGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html>`__
"""

props: PropsDictType = {
"AllSupported": (boolean, False),
"ExclusionByResourceTypes": (ExclusionByResourceTypes, False),
"IncludeGlobalResourceTypes": (boolean, False),
"RecordingStrategy": (RecordingStrategy, False),
"ResourceTypes": ([str], False),
}

Expand Down
15 changes: 15 additions & 0 deletions troposphere/connect.py
Original file line number Diff line number Diff line change
Expand Up @@ -616,6 +616,21 @@ class TaskTemplate(AWSObject):
}


class TrafficDistributionGroup(AWSObject):
"""
`TrafficDistributionGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html>`__
"""

resource_type = "AWS::Connect::TrafficDistributionGroup"

props: PropsDictType = {
"Description": (str, False),
"InstanceArn": (str, True),
"Name": (str, True),
"Tags": (Tags, False),
}


class UserIdentityInfo(AWSProperty):
"""
`UserIdentityInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-user-useridentityinfo.html>`__
Expand Down
29 changes: 29 additions & 0 deletions troposphere/datasync.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,35 @@ class Agent(AWSObject):
}


class AzureBlobSasConfiguration(AWSProperty):
"""
`AzureBlobSasConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-azureblobsasconfiguration.html>`__
"""

props: PropsDictType = {
"AzureBlobSasToken": (str, True),
}


class LocationAzureBlob(AWSObject):
"""
`LocationAzureBlob <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html>`__
"""

resource_type = "AWS::DataSync::LocationAzureBlob"

props: PropsDictType = {
"AgentArns": ([str], True),
"AzureAccessTier": (str, False),
"AzureBlobAuthenticationType": (str, True),
"AzureBlobContainerUrl": (str, False),
"AzureBlobSasConfiguration": (AzureBlobSasConfiguration, False),
"AzureBlobType": (str, False),
"Subdirectory": (str, False),
"Tags": (Tags, False),
}


class Ec2Config(AWSProperty):
"""
`Ec2Config <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html>`__
Expand Down
14 changes: 9 additions & 5 deletions troposphere/ec2.py
Original file line number Diff line number Diff line change
Expand Up @@ -1378,11 +1378,11 @@ class Monitoring(AWSProperty):

class Ipv4PrefixSpecification(AWSProperty):
"""
`Ipv4PrefixSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv4prefixspecification.html>`__
`Ipv4PrefixSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-ipv4prefixspecification.html>`__
"""

props: PropsDictType = {
"Ipv4Prefix": (str, False),
"Ipv4Prefix": (str, True),
}


Expand All @@ -1398,11 +1398,11 @@ class Ipv6Add(AWSProperty):

class Ipv6PrefixSpecification(AWSProperty):
"""
`Ipv6PrefixSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6prefixspecification.html>`__
`Ipv6PrefixSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-ipv6prefixspecification.html>`__
"""

props: PropsDictType = {
"Ipv6Prefix": (str, False),
"Ipv6Prefix": (str, True),
}


Expand Down Expand Up @@ -1784,8 +1784,12 @@ class NetworkInterface(AWSObject):
"Description": (str, False),
"GroupSet": ([str], False),
"InterfaceType": (str, False),
"Ipv4PrefixCount": (integer, False),
"Ipv4Prefixes": ([Ipv4PrefixSpecification], False),
"Ipv6AddressCount": (integer, False),
"Ipv6Addresses": ([InstanceIpv6Address], False),
"Ipv6PrefixCount": (integer, False),
"Ipv6Prefixes": ([Ipv6PrefixSpecification], False),
"PrivateIpAddress": (str, False),
"PrivateIpAddresses": ([PrivateIpAddressSpecification], False),
"SecondaryPrivateIpAddressCount": (integer, False),
Expand All @@ -1797,7 +1801,7 @@ class NetworkInterface(AWSObject):

class NetworkInterfaceAttachment(AWSObject):
"""
`NetworkInterfaceAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html>`__
`NetworkInterfaceAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html>`__
"""

resource_type = "AWS::EC2::NetworkInterfaceAttachment"
Expand Down
1 change: 1 addition & 0 deletions troposphere/emr.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ class VolumeSpecification(AWSProperty):
props: PropsDictType = {
"Iops": (integer, False),
"SizeInGB": (integer, True),
"Throughput": (integer, False),
"VolumeType": (volume_type_validator, True),
}

Expand Down
2 changes: 1 addition & 1 deletion troposphere/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ class RedshiftDataParameters(AWSProperty):
"Database": (str, True),
"DbUser": (str, False),
"SecretManagerArn": (str, False),
"Sql": (str, True),
"Sql": (str, False),
"StatementName": (str, False),
"WithEvent": (boolean, False),
}
Expand Down
18 changes: 16 additions & 2 deletions troposphere/ivs.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,18 @@ class DestinationConfiguration(AWSProperty):
"""

props: PropsDictType = {
"S3": (S3DestinationConfiguration, True),
"S3": (S3DestinationConfiguration, False),
}


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),
}


Expand All @@ -69,7 +80,9 @@ class ThumbnailConfiguration(AWSProperty):
"""

props: PropsDictType = {
"RecordingMode": (str, True),
"RecordingMode": (str, False),
"Resolution": (str, False),
"Storage": ([str], False),
"TargetIntervalSeconds": (integer, False),
}

Expand All @@ -85,6 +98,7 @@ class RecordingConfiguration(AWSObject):
"DestinationConfiguration": (DestinationConfiguration, True),
"Name": (str, False),
"RecordingReconnectWindowSeconds": (integer, False),
"RenditionConfiguration": (RenditionConfiguration, False),
"Tags": (Tags, False),
"ThumbnailConfiguration": (ThumbnailConfiguration, False),
}
Expand Down
11 changes: 11 additions & 0 deletions troposphere/kendra.py
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,16 @@ class SharePointConfiguration(AWSProperty):
}


class TemplateConfiguration(AWSProperty):
"""
`TemplateConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-templateconfiguration.html>`__
"""

props: PropsDictType = {
"Template": (str, True),
}


class ProxyConfiguration(AWSProperty):
"""
`ProxyConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-proxyconfiguration.html>`__
Expand Down Expand Up @@ -661,6 +671,7 @@ class DataSourceConfiguration(AWSProperty):
"SalesforceConfiguration": (SalesforceConfiguration, False),
"ServiceNowConfiguration": (ServiceNowConfiguration, False),
"SharePointConfiguration": (SharePointConfiguration, False),
"TemplateConfiguration": (TemplateConfiguration, False),
"WebCrawlerConfiguration": (WebCrawlerConfiguration, False),
"WorkDocsConfiguration": (WorkDocsConfiguration, False),
}
Expand Down
3 changes: 2 additions & 1 deletion troposphere/kms.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ class Key(AWSObject):
resource_type = "AWS::KMS::Key"

props: PropsDictType = {
"BypassPolicyLockoutSafetyCheck": (boolean, False),
"Description": (str, False),
"EnableKeyRotation": (boolean, False),
"Enabled": (boolean, False),
"KeyPolicy": (policytypes, True),
"KeyPolicy": (policytypes, False),
"KeySpec": (str, False),
"KeyUsage": (key_usage_type, False),
"MultiRegion": (boolean, False),
Expand Down
132 changes: 131 additions & 1 deletion troposphere/mediatailor.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,122 @@


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, integer
from .validators import boolean, double, integer


class LogConfigurationForChannel(AWSProperty):
"""
`LogConfigurationForChannel <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-logconfigurationforchannel.html>`__
"""

props: PropsDictType = {
"LogTypes": ([str], False),
}


class DashPlaylistSettings(AWSProperty):
"""
`DashPlaylistSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-dashplaylistsettings.html>`__
"""

props: PropsDictType = {
"ManifestWindowSeconds": (double, False),
"MinBufferTimeSeconds": (double, False),
"MinUpdatePeriodSeconds": (double, False),
"SuggestedPresentationDelaySeconds": (double, False),
}


class HlsPlaylistSettings(AWSProperty):
"""
`HlsPlaylistSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-hlsplaylistsettings.html>`__
"""

props: PropsDictType = {
"ManifestWindowSeconds": (double, False),
}


class RequestOutputItem(AWSProperty):
"""
`RequestOutputItem <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-requestoutputitem.html>`__
"""

props: PropsDictType = {
"DashPlaylistSettings": (DashPlaylistSettings, False),
"HlsPlaylistSettings": (HlsPlaylistSettings, False),
"ManifestName": (str, True),
"SourceGroup": (str, True),
}


class SlateSource(AWSProperty):
"""
`SlateSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-channel-slatesource.html>`__
"""

props: PropsDictType = {
"SourceLocationName": (str, False),
"VodSourceName": (str, False),
}


class Channel(AWSObject):
"""
`Channel <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html>`__
"""

resource_type = "AWS::MediaTailor::Channel"

props: PropsDictType = {
"ChannelName": (str, True),
"FillerSlate": (SlateSource, False),
"LogConfiguration": (LogConfigurationForChannel, False),
"Outputs": ([RequestOutputItem], True),
"PlaybackMode": (str, True),
"Tags": (Tags, False),
"Tier": (str, False),
}


class ChannelPolicy(AWSObject):
"""
`ChannelPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html>`__
"""

resource_type = "AWS::MediaTailor::ChannelPolicy"

props: PropsDictType = {
"ChannelName": (str, True),
"Policy": (dict, True),
}


class HttpPackageConfiguration(AWSProperty):
"""
`HttpPackageConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-vodsource-httppackageconfiguration.html>`__
"""

props: PropsDictType = {
"Path": (str, True),
"SourceGroup": (str, True),
"Type": (str, True),
}


class LiveSource(AWSObject):
"""
`LiveSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html>`__
"""

resource_type = "AWS::MediaTailor::LiveSource"

props: PropsDictType = {
"HttpPackageConfigurations": ([HttpPackageConfiguration], True),
"LiveSourceName": (str, True),
"SourceLocationName": (str, True),
"Tags": (Tags, False),
}


class AvailSuppression(AWSProperty):
Expand Down Expand Up @@ -120,3 +235,18 @@ class PlaybackConfiguration(AWSObject):
"TranscodeProfileName": (str, False),
"VideoContentSourceUrl": (str, True),
}


class VodSource(AWSObject):
"""
`VodSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html>`__
"""

resource_type = "AWS::MediaTailor::VodSource"

props: PropsDictType = {
"HttpPackageConfigurations": ([HttpPackageConfiguration], True),
"SourceLocationName": (str, True),
"Tags": (Tags, False),
"VodSourceName": (str, True),
}