Skip to content
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
61 changes: 61 additions & 0 deletions troposphere/batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -877,6 +877,56 @@ class JobQueue(AWSObject):
}


class QuotaShareCapacityLimit(AWSProperty):
"""
`QuotaShareCapacityLimit <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-quotashare-quotasharecapacitylimit.html>`__
"""

props: PropsDictType = {
"CapacityUnit": (str, True),
"MaxCapacity": (integer, True),
}


class QuotaSharePreemptionConfiguration(AWSProperty):
"""
`QuotaSharePreemptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-quotashare-quotasharepreemptionconfiguration.html>`__
"""

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


class QuotaShareResourceSharingConfiguration(AWSProperty):
"""
`QuotaShareResourceSharingConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-quotashare-quotashareresourcesharingconfiguration.html>`__
"""

props: PropsDictType = {
"BorrowLimit": (integer, False),
"Strategy": (str, True),
}


class QuotaShare(AWSObject):
"""
`QuotaShare <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-quotashare.html>`__
"""

resource_type = "AWS::Batch::QuotaShare"

props: PropsDictType = {
"CapacityLimits": ([QuotaShareCapacityLimit], True),
"JobQueue": (str, True),
"PreemptionConfiguration": (QuotaSharePreemptionConfiguration, True),
"QuotaShareName": (str, True),
"ResourceSharingConfiguration": (QuotaShareResourceSharingConfiguration, True),
"State": (str, False),
"Tags": (dict, False),
}


class ShareAttributes(AWSProperty):
"""
`ShareAttributes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-schedulingpolicy-shareattributes.html>`__
Expand All @@ -900,6 +950,16 @@ class FairsharePolicy(AWSProperty):
}


class QuotaSharePolicy(AWSProperty):
"""
`QuotaSharePolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-schedulingpolicy-quotasharepolicy.html>`__
"""

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


class SchedulingPolicy(AWSObject):
"""
`SchedulingPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html>`__
Expand All @@ -910,6 +970,7 @@ class SchedulingPolicy(AWSObject):
props: PropsDictType = {
"FairsharePolicy": (FairsharePolicy, False),
"Name": (str, False),
"QuotaSharePolicy": (QuotaSharePolicy, False),
"Tags": (dict, False),
}

Expand Down
1 change: 1 addition & 0 deletions troposphere/deadline.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class Farm(AWSObject):
resource_type = "AWS::Deadline::Farm"

props: PropsDictType = {
"CostScaleFactor": (double, False),
"Description": (str, False),
"DisplayName": (str, True),
"KmsKeyArn": (str, False),
Expand Down
17 changes: 17 additions & 0 deletions troposphere/ec2.py
Original file line number Diff line number Diff line change
Expand Up @@ -989,6 +989,23 @@ class IPAMPrefixListResolver(AWSObject):
}


class IPAMPrefixListResolverTarget(AWSObject):
"""
`IPAMPrefixListResolverTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamprefixlistresolvertarget.html>`__
"""

resource_type = "AWS::EC2::IPAMPrefixListResolverTarget"

props: PropsDictType = {
"DesiredVersion": (integer, False),
"IpamPrefixListResolverId": (str, True),
"PrefixListId": (str, True),
"PrefixListRegion": (str, True),
"Tags": (Tags, False),
"TrackLatestVersion": (boolean, True),
}


class IpamResourceDiscoveryOrganizationalUnitExclusion(AWSProperty):
"""
`IpamResourceDiscoveryOrganizationalUnitExclusion <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipamresourcediscovery-ipamresourcediscoveryorganizationalunitexclusion.html>`__
Expand Down
102 changes: 92 additions & 10 deletions troposphere/glue.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,98 @@
)


class DataLakeAccessProperties(AWSProperty):
"""
`DataLakeAccessProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-catalog-datalakeaccessproperties.html>`__
"""

props: PropsDictType = {
"AllowFullTableExternalDataAccess": (str, False),
"CatalogType": (str, False),
"DataLakeAccess": (boolean, False),
"DataTransferRole": (str, False),
"KmsKey": (str, False),
"ManagedWorkgroupName": (str, False),
"ManagedWorkgroupStatus": (str, False),
"RedshiftDatabaseName": (str, False),
}


class CatalogProperties(AWSProperty):
"""
`CatalogProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-catalog-catalogproperties.html>`__
"""

props: PropsDictType = {
"CustomProperties": (dict, False),
"DataLakeAccessProperties": (DataLakeAccessProperties, False),
}


class FederatedCatalog(AWSProperty):
"""
`FederatedCatalog <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-catalog-federatedcatalog.html>`__
"""

props: PropsDictType = {
"ConnectionName": (str, False),
"Identifier": (str, False),
}


class DataLakePrincipal(AWSProperty):
"""
`DataLakePrincipal <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-datalakeprincipal.html>`__
"""

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


class PrincipalPermissions(AWSProperty):
"""
`PrincipalPermissions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-catalog-principalpermissions.html>`__
"""

props: PropsDictType = {
"Permissions": ([str], False),
"Principal": (DataLakePrincipal, False),
}


class TargetRedshiftCatalog(AWSProperty):
"""
`TargetRedshiftCatalog <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-catalog-targetredshiftcatalog.html>`__
"""

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


class Catalog(AWSObject):
"""
`Catalog <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-catalog.html>`__
"""

resource_type = "AWS::Glue::Catalog"

props: PropsDictType = {
"AllowFullTableExternalDataAccess": (str, False),
"CatalogProperties": (CatalogProperties, False),
"CreateDatabaseDefaultPermissions": ([PrincipalPermissions], False),
"CreateTableDefaultPermissions": ([PrincipalPermissions], False),
"Description": (str, False),
"FederatedCatalog": (FederatedCatalog, False),
"Name": (str, True),
"OverwriteChildResourcePermissionsWithDefault": (str, False),
"Parameters": (dict, False),
"Tags": (Tags, False),
"TargetRedshiftCatalog": (TargetRedshiftCatalog, False),
}


class CsvClassifier(AWSProperty):
"""
`CsvClassifier <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html>`__
Expand Down Expand Up @@ -510,16 +602,6 @@ class FederatedDatabase(AWSProperty):
}


class DataLakePrincipal(AWSProperty):
"""
`DataLakePrincipal <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-datalakeprincipal.html>`__
"""

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


class PrincipalPrivileges(AWSProperty):
"""
`PrincipalPrivileges <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-principalprivileges.html>`__
Expand Down
42 changes: 31 additions & 11 deletions troposphere/mediaconnect.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,17 @@ class BridgeSource(AWSObject):
}


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


class Maintenance(AWSProperty):
"""
`Maintenance <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-maintenance.html>`__
Expand Down Expand Up @@ -232,6 +243,7 @@ class MediaStream(AWSProperty):
"MediaStreamId": (integer, True),
"MediaStreamName": (str, True),
"MediaStreamType": (str, True),
"Tags": (Tags, False),
"VideoFormat": (str, False),
}

Expand Down Expand Up @@ -267,14 +279,9 @@ class Encryption(AWSProperty):

props: PropsDictType = {
"Algorithm": (str, False),
"ConstantInitializationVector": (str, False),
"DeviceId": (str, False),
"KeyType": (str, False),
"Region": (str, False),
"ResourceId": (str, False),
"RoleArn": (str, True),
"SecretArn": (str, False),
"Url": (str, False),
}


Expand Down Expand Up @@ -355,6 +362,16 @@ class MediaStreamSourceConfiguration(AWSProperty):
}


class NdiSourceSettings(AWSProperty):
"""
`NdiSourceSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-ndisourcesettings.html>`__
"""

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


class Source(AWSProperty):
"""
`Source <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html>`__
Expand All @@ -373,16 +390,16 @@ class Source(AWSProperty):
"MediaStreamSourceConfigurations": ([MediaStreamSourceConfiguration], False),
"MinLatency": (integer, False),
"Name": (str, False),
"NdiSourceSettings": (NdiSourceSettings, False),
"Protocol": (str, False),
"RouterIntegrationState": (str, False),
"RouterIntegrationTransitDecryption": (FlowTransitEncryption, False),
"SenderControlPort": (integer, False),
"SenderIpAddress": (str, 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),
}
Expand Down Expand Up @@ -467,6 +484,7 @@ class VpcInterface(AWSProperty):
"RoleArn": (str, True),
"SecurityGroupIds": ([str], True),
"SubnetId": (str, True),
"Tags": (Tags, False),
}


Expand All @@ -479,6 +497,7 @@ class Flow(AWSObject):

props: PropsDictType = {
"AvailabilityZone": (str, False),
"EncodingConfig": (EncodingConfig, False),
"FlowSize": (str, False),
"Maintenance": (Maintenance, False),
"MediaStreams": ([MediaStream], False),
Expand All @@ -487,6 +506,7 @@ class Flow(AWSObject):
"Source": (Source, True),
"SourceFailoverConfig": (FailoverConfig, False),
"SourceMonitoringConfig": (SourceMonitoringConfig, False),
"Tags": (Tags, False),
"VpcInterfaces": ([VpcInterface], False),
}

Expand All @@ -506,6 +526,7 @@ class FlowEntitlement(AWSObject):
"FlowArn": (str, True),
"Name": (str, True),
"Subscribers": ([str], True),
"Tags": (Tags, False),
}


Expand Down Expand Up @@ -585,6 +606,7 @@ class FlowOutput(AWSObject):
"RouterIntegrationTransitEncryption": (FlowTransitEncryption, False),
"SmoothingLatency": (integer, False),
"StreamId": (str, False),
"Tags": (Tags, False),
"VpcInterfaceAttachment": (VpcInterfaceAttachment, False),
}

Expand All @@ -599,20 +621,18 @@ class FlowSource(AWSObject):
props: PropsDictType = {
"Decryption": (Encryption, False),
"Description": (str, True),
"EntitlementArn": (str, False),
"FlowArn": (str, False),
"FlowArn": (str, True),
"GatewayBridgeSource": (GatewayBridgeSource, False),
"IngestPort": (integer, False),
"MaxBitrate": (integer, False),
"MaxLatency": (integer, False),
"MinLatency": (integer, False),
"Name": (str, True),
"Protocol": (str, False),
"SenderControlPort": (integer, False),
"SenderIpAddress": (str, False),
"SourceListenerAddress": (str, False),
"SourceListenerPort": (integer, False),
"StreamId": (str, False),
"Tags": (Tags, False),
"VpcInterfaceName": (str, False),
"WhitelistCidr": (str, False),
}
Expand Down
11 changes: 11 additions & 0 deletions troposphere/medialive.py
Original file line number Diff line number Diff line change
Expand Up @@ -1983,6 +1983,16 @@ class EncoderSettings(AWSProperty):
}


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

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


class AudioSilenceFailoverSettings(AWSProperty):
"""
`AudioSilenceFailoverSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiosilencefailoversettings.html>`__
Expand Down Expand Up @@ -2527,6 +2537,7 @@ class Channel(AWSObject):
"Destinations": ([OutputDestination], False),
"DryRun": (boolean, False),
"EncoderSettings": (EncoderSettings, False),
"InferenceSettings": (InferenceSettings, False),
"InputAttachments": ([InputAttachment], False),
"InputSpecification": (InputSpecification, False),
"LinkedChannelSettings": (LinkedChannelSettings, False),
Expand Down
Loading