diff --git a/troposphere/apprunner.py b/troposphere/apprunner.py index 2cee71827..a9366ce04 100644 --- a/troposphere/apprunner.py +++ b/troposphere/apprunner.py @@ -116,6 +116,7 @@ class NetworkConfiguration(AWSProperty): props: PropsDictType = { "EgressConfiguration": (EgressConfiguration, False), "IngressConfiguration": (IngressConfiguration, False), + "IpAddressType": (str, False), } diff --git a/troposphere/appstream.py b/troposphere/appstream.py index d71d2f91e..6649c5557 100644 --- a/troposphere/appstream.py +++ b/troposphere/appstream.py @@ -331,6 +331,7 @@ class UserSetting(AWSProperty): props: PropsDictType = { "Action": (str, True), + "MaximumLength": (integer, False), "Permission": (str, True), } diff --git a/troposphere/codebuild.py b/troposphere/codebuild.py index 86af8d90b..af52943cc 100644 --- a/troposphere/codebuild.py +++ b/troposphere/codebuild.py @@ -79,13 +79,13 @@ class Environment(AWSProperty): props: PropsDictType = { "Certificate": (str, False), - "ComputeType": (str, True), + "ComputeType": (str, False), "EnvironmentVariables": (validate_environmentvariable_or_list, False), "Image": (str, True), "ImagePullCredentialsType": (validate_image_pull_credentials, False), "PrivilegedMode": (boolean, False), "RegistryCredential": (RegistryCredential, False), - "Type": (str, True), + "Type": (str, False), } def validate(self): @@ -368,6 +368,16 @@ class SourceCredential(AWSObject): } +class ProjectFleet(AWSProperty): + """ + `ProjectFleet `__ + """ + + props: PropsDictType = { + "FleetArn": (str, False), + } + + class WebhookFilter(AWSProperty): """ `WebhookFilter `__ diff --git a/troposphere/dlm.py b/troposphere/dlm.py index bd1e4929d..109f0613e 100644 --- a/troposphere/dlm.py +++ b/troposphere/dlm.py @@ -128,6 +128,21 @@ class ArchiveRule(AWSProperty): } +class Script(AWSProperty): + """ + `Script `__ + """ + + props: PropsDictType = { + "ExecuteOperationOnScriptFailure": (boolean, False), + "ExecutionHandler": (str, False), + "ExecutionHandlerService": (str, False), + "ExecutionTimeout": (integer, False), + "MaximumRetryCount": (integer, False), + "Stages": ([str], False), + } + + class CreateRule(AWSProperty): """ `CreateRule `__ @@ -138,6 +153,7 @@ class CreateRule(AWSProperty): "Interval": (validate_interval, False), "IntervalUnit": (validate_interval_unit, False), "Location": (str, False), + "Scripts": ([Script], False), "Times": ([str], False), } diff --git a/troposphere/ec2.py b/troposphere/ec2.py index 14cc289a0..70cf87aad 100644 --- a/troposphere/ec2.py +++ b/troposphere/ec2.py @@ -738,6 +738,7 @@ class IPAM(AWSObject): "Description": (str, False), "OperatingRegions": ([IpamOperatingRegion], False), "Tags": (Tags, False), + "Tier": (str, False), } @@ -2282,8 +2283,10 @@ class Subnet(AWSObject): "AvailabilityZoneId": (str, False), "CidrBlock": (str, False), "EnableDns64": (boolean, False), + "Ipv4NetmaskLength": (integer, False), "Ipv6CidrBlock": (str, False), "Ipv6Native": (boolean, False), + "Ipv6NetmaskLength": (integer, False), "MapPublicIpOnLaunch": (boolean, False), "OutpostArn": (str, False), "PrivateDnsNameOptionsOnLaunch": (PrivateDnsNameOptionsOnLaunch, False), @@ -2762,7 +2765,7 @@ class VPCEndpointServicePermissions(AWSObject): class VPCGatewayAttachment(AWSObject): """ - `VPCGatewayAttachment `__ + `VPCGatewayAttachment `__ """ resource_type = "AWS::EC2::VPCGatewayAttachment" diff --git a/troposphere/emrserverless.py b/troposphere/emrserverless.py index d73b1dfb3..8d9ea78e7 100644 --- a/troposphere/emrserverless.py +++ b/troposphere/emrserverless.py @@ -31,6 +31,18 @@ class AutoStopConfiguration(AWSProperty): } +class ConfigurationObject(AWSProperty): + """ + `ConfigurationObject `__ + """ + + props: PropsDictType = { + "Classification": (str, True), + "Configurations": ([ConfigurationObject], False), + "Properties": (dict, False), + } + + class ImageConfigurationInput(AWSProperty): """ `ImageConfigurationInput `__ @@ -87,6 +99,42 @@ class MaximumAllowedResources(AWSProperty): } +class ManagedPersistenceMonitoringConfiguration(AWSProperty): + """ + `ManagedPersistenceMonitoringConfiguration `__ + """ + + props: PropsDictType = { + "Enabled": (boolean, False), + "EncryptionKeyArn": (str, False), + } + + +class S3MonitoringConfiguration(AWSProperty): + """ + `S3MonitoringConfiguration `__ + """ + + props: PropsDictType = { + "EncryptionKeyArn": (str, False), + "LogUri": (str, False), + } + + +class MonitoringConfiguration(AWSProperty): + """ + `MonitoringConfiguration `__ + """ + + props: PropsDictType = { + "ManagedPersistenceMonitoringConfiguration": ( + ManagedPersistenceMonitoringConfiguration, + False, + ), + "S3MonitoringConfiguration": (S3MonitoringConfiguration, False), + } + + class NetworkConfiguration(AWSProperty): """ `NetworkConfiguration `__ @@ -122,9 +170,11 @@ class Application(AWSObject): "ImageConfiguration": (ImageConfigurationInput, False), "InitialCapacity": ([InitialCapacityConfigKeyValuePair], False), "MaximumCapacity": (MaximumAllowedResources, False), + "MonitoringConfiguration": (MonitoringConfiguration, False), "Name": (str, False), "NetworkConfiguration": (NetworkConfiguration, False), "ReleaseLabel": (str, True), + "RuntimeConfiguration": ([ConfigurationObject], False), "Tags": (Tags, False), "Type": (str, True), "WorkerTypeSpecifications": (dict, False), diff --git a/troposphere/gamelift.py b/troposphere/gamelift.py index 9fc6ee71d..482d37500 100644 --- a/troposphere/gamelift.py +++ b/troposphere/gamelift.py @@ -156,6 +156,37 @@ class RuntimeConfiguration(AWSProperty): } +class TargetConfiguration(AWSProperty): + """ + `TargetConfiguration `__ + """ + + props: PropsDictType = { + "TargetValue": (double, True), + } + + +class ScalingPolicy(AWSProperty): + """ + `ScalingPolicy `__ + """ + + props: PropsDictType = { + "ComparisonOperator": (str, False), + "EvaluationPeriods": (integer, False), + "Location": (str, False), + "MetricName": (str, True), + "Name": (str, True), + "PolicyType": (str, False), + "ScalingAdjustment": (integer, False), + "ScalingAdjustmentType": (str, False), + "Status": (str, False), + "TargetConfiguration": (TargetConfiguration, False), + "Threshold": (double, False), + "UpdateStatus": (str, False), + } + + class Fleet(AWSObject): """ `Fleet `__ @@ -165,6 +196,7 @@ class Fleet(AWSObject): props: PropsDictType = { "AnywhereConfiguration": (AnywhereConfiguration, False), + "ApplyCapacity": (str, False), "BuildId": (str, False), "CertificateConfiguration": (CertificateConfiguration, False), "ComputeType": (str, False), @@ -185,6 +217,7 @@ class Fleet(AWSObject): "PeerVpcId": (str, False), "ResourceCreationLimitPolicy": (ResourceCreationLimitPolicy, False), "RuntimeConfiguration": (RuntimeConfiguration, False), + "ScalingPolicies": ([ScalingPolicy], False), "ScriptId": (str, False), } diff --git a/troposphere/iam.py b/troposphere/iam.py index 07bf9fa5e..dff64a782 100644 --- a/troposphere/iam.py +++ b/troposphere/iam.py @@ -37,7 +37,7 @@ class AccessKey(AWSObject): class Policy(AWSProperty): """ - `Policy `__ + `Policy `__ """ props: PropsDictType = { @@ -230,7 +230,7 @@ class LoginProfile(AWSProperty): class User(AWSObject): """ - `User `__ + `User `__ """ resource_type = "AWS::IAM::User" diff --git a/troposphere/medialive.py b/troposphere/medialive.py index 6aa025b45..c8142d538 100644 --- a/troposphere/medialive.py +++ b/troposphere/medialive.py @@ -6,7 +6,7 @@ # *** Do not modify - this file is autogenerated *** -from . import AWSObject, AWSProperty, PropsDictType +from . import AWSObject, AWSProperty, PropsDictType, Tags from .validators import double, integer @@ -2220,6 +2220,156 @@ class InputSecurityGroup(AWSObject): } +class MultiplexMediaConnectOutputDestinationSettings(AWSProperty): + """ + `MultiplexMediaConnectOutputDestinationSettings `__ + """ + + props: PropsDictType = { + "EntitlementArn": (str, False), + } + + +class MultiplexOutputDestination(AWSProperty): + """ + `MultiplexOutputDestination `__ + """ + + props: PropsDictType = { + "MultiplexMediaConnectOutputDestinationSettings": ( + MultiplexMediaConnectOutputDestinationSettings, + False, + ), + } + + +class MultiplexSettings(AWSProperty): + """ + `MultiplexSettings `__ + """ + + props: PropsDictType = { + "MaximumVideoBufferDelayMilliseconds": (integer, False), + "TransportStreamBitrate": (integer, True), + "TransportStreamId": (integer, True), + "TransportStreamReservedBitrate": (integer, False), + } + + +class Multiplex(AWSObject): + """ + `Multiplex `__ + """ + + resource_type = "AWS::MediaLive::Multiplex" + + props: PropsDictType = { + "AvailabilityZones": ([str], True), + "Destinations": ([MultiplexOutputDestination], False), + "MultiplexSettings": (MultiplexSettings, True), + "Name": (str, True), + "Tags": (Tags, False), + } + + +class MultiplexProgramPacketIdentifiersMap(AWSProperty): + """ + `MultiplexProgramPacketIdentifiersMap `__ + """ + + props: PropsDictType = { + "AudioPids": ([integer], False), + "DvbSubPids": ([integer], False), + "DvbTeletextPid": (integer, False), + "EtvPlatformPid": (integer, False), + "EtvSignalPid": (integer, False), + "KlvDataPids": ([integer], False), + "PcrPid": (integer, False), + "PmtPid": (integer, False), + "PrivateMetadataPid": (integer, False), + "Scte27Pids": ([integer], False), + "Scte35Pid": (integer, False), + "TimedMetadataPid": (integer, False), + "VideoPid": (integer, False), + } + + +class MultiplexProgramPipelineDetail(AWSProperty): + """ + `MultiplexProgramPipelineDetail `__ + """ + + props: PropsDictType = { + "ActiveChannelPipeline": (str, False), + "PipelineId": (str, False), + } + + +class MultiplexProgramServiceDescriptor(AWSProperty): + """ + `MultiplexProgramServiceDescriptor `__ + """ + + props: PropsDictType = { + "ProviderName": (str, True), + "ServiceName": (str, True), + } + + +class MultiplexStatmuxVideoSettings(AWSProperty): + """ + `MultiplexStatmuxVideoSettings `__ + """ + + props: PropsDictType = { + "MaximumBitrate": (integer, False), + "MinimumBitrate": (integer, False), + "Priority": (integer, False), + } + + +class MultiplexVideoSettings(AWSProperty): + """ + `MultiplexVideoSettings `__ + """ + + props: PropsDictType = { + "ConstantBitrate": (integer, False), + "StatmuxSettings": (MultiplexStatmuxVideoSettings, False), + } + + +class MultiplexProgramSettings(AWSProperty): + """ + `MultiplexProgramSettings `__ + """ + + props: PropsDictType = { + "PreferredChannelPipeline": (str, False), + "ProgramNumber": (integer, True), + "ServiceDescriptor": (MultiplexProgramServiceDescriptor, False), + "VideoSettings": (MultiplexVideoSettings, False), + } + + +class Multiplexprogram(AWSObject): + """ + `Multiplexprogram `__ + """ + + resource_type = "AWS::MediaLive::Multiplexprogram" + + props: PropsDictType = { + "ChannelId": (str, False), + "MultiplexId": (str, False), + "MultiplexProgramSettings": (MultiplexProgramSettings, False), + "PacketIdentifiersMap": (MultiplexProgramPacketIdentifiersMap, False), + "PipelineDetails": ([MultiplexProgramPipelineDetail], False), + "PreferredChannelPipeline": (str, False), + "ProgramName": (str, False), + } + + class InputDeviceRequest(AWSProperty): """ `InputDeviceRequest `__ diff --git a/troposphere/mediapackagev2.py b/troposphere/mediapackagev2.py index 05404b560..7bdf172c6 100644 --- a/troposphere/mediapackagev2.py +++ b/troposphere/mediapackagev2.py @@ -53,6 +53,19 @@ class ChannelPolicy(AWSObject): } +class FilterConfiguration(AWSProperty): + """ + `FilterConfiguration `__ + """ + + props: PropsDictType = { + "End": (str, False), + "ManifestFilter": (str, False), + "Start": (str, False), + "TimeDelaySeconds": (integer, False), + } + + class ScteHls(AWSProperty): """ `ScteHls `__ @@ -70,6 +83,7 @@ class HlsManifestConfiguration(AWSProperty): props: PropsDictType = { "ChildManifestName": (str, False), + "FilterConfiguration": (FilterConfiguration, False), "ManifestName": (str, True), "ManifestWindowSeconds": (integer, False), "ProgramDateTimeIntervalSeconds": (integer, False), @@ -85,6 +99,7 @@ class LowLatencyHlsManifestConfiguration(AWSProperty): props: PropsDictType = { "ChildManifestName": (str, False), + "FilterConfiguration": (FilterConfiguration, False), "ManifestName": (str, True), "ManifestWindowSeconds": (integer, False), "ProgramDateTimeIntervalSeconds": (integer, False), diff --git a/troposphere/quicksight.py b/troposphere/quicksight.py index abd7022fb..81fa35cc3 100644 --- a/troposphere/quicksight.py +++ b/troposphere/quicksight.py @@ -162,6 +162,17 @@ class AnalysisDefaults(AWSProperty): } +class AssetOptions(AWSProperty): + """ + `AssetOptions `__ + """ + + props: PropsDictType = { + "Timezone": (str, False), + "WeekStart": (str, False), + } + + class CalculatedField(AWSProperty): """ `CalculatedField `__ @@ -5670,6 +5681,7 @@ class AnalysisDefinition(AWSProperty): "ColumnConfigurations": ([ColumnConfiguration], False), "DataSetIdentifierDeclarations": ([DataSetIdentifierDeclaration], True), "FilterGroups": ([FilterGroup], False), + "Options": (AssetOptions, False), "ParameterDeclarations": ([ParameterDeclaration], False), "Sheets": ([SheetDefinition], False), } @@ -5983,11 +5995,22 @@ class DashboardVersionDefinition(AWSProperty): "ColumnConfigurations": ([ColumnConfiguration], False), "DataSetIdentifierDeclarations": ([DataSetIdentifierDeclaration], True), "FilterGroups": ([FilterGroup], False), + "Options": (AssetOptions, False), "ParameterDeclarations": ([ParameterDeclaration], False), "Sheets": ([SheetDefinition], False), } +class LinkSharingConfiguration(AWSProperty): + """ + `LinkSharingConfiguration `__ + """ + + props: PropsDictType = { + "Permissions": ([ResourcePermission], False), + } + + class Dashboard(AWSObject): """ `Dashboard `__ @@ -6000,6 +6023,7 @@ class Dashboard(AWSObject): "DashboardId": (str, True), "DashboardPublishOptions": (DashboardPublishOptions, False), "Definition": (DashboardVersionDefinition, False), + "LinkSharingConfiguration": (LinkSharingConfiguration, False), "Name": (str, True), "Parameters": (Parameters, False), "Permissions": ([ResourcePermission], False), @@ -6766,6 +6790,19 @@ class SqlServerParameters(AWSProperty): } +class StarburstParameters(AWSProperty): + """ + `StarburstParameters `__ + """ + + props: PropsDictType = { + "Catalog": (str, True), + "Host": (str, True), + "Port": (double, True), + "ProductType": (str, False), + } + + class TeradataParameters(AWSProperty): """ `TeradataParameters `__ @@ -6778,6 +6815,18 @@ class TeradataParameters(AWSProperty): } +class TrinoParameters(AWSProperty): + """ + `TrinoParameters `__ + """ + + props: PropsDictType = { + "Catalog": (str, True), + "Host": (str, True), + "Port": (double, True), + } + + class DataSourceParameters(AWSProperty): """ `DataSourceParameters `__ @@ -6801,7 +6850,9 @@ class DataSourceParameters(AWSProperty): "SnowflakeParameters": (SnowflakeParameters, False), "SparkParameters": (SparkParameters, False), "SqlServerParameters": (SqlServerParameters, False), + "StarburstParameters": (StarburstParameters, False), "TeradataParameters": (TeradataParameters, False), + "TrinoParameters": (TrinoParameters, False), } @@ -7032,6 +7083,7 @@ class TemplateVersionDefinition(AWSProperty): "ColumnConfigurations": ([ColumnConfiguration], False), "DataSetConfigurations": ([DataSetConfiguration], True), "FilterGroups": ([FilterGroup], False), + "Options": (AssetOptions, False), "ParameterDeclarations": ([ParameterDeclaration], False), "Sheets": ([SheetDefinition], False), } @@ -7670,6 +7722,7 @@ class TemplateVersion(AWSProperty): "DataSetConfigurations": ([DataSetConfiguration], False), "Description": (str, False), "Errors": ([TemplateError], False), + "Options": (AssetOptions, False), "Sheets": ([Sheet], False), "SourceEntityArn": (str, False), "Status": (str, False), diff --git a/troposphere/rds.py b/troposphere/rds.py index e85442d5a..25a79282f 100644 --- a/troposphere/rds.py +++ b/troposphere/rds.py @@ -120,6 +120,7 @@ class DBCluster(AWSObject): "Domain": (str, False), "DomainIAMRoleName": (str, False), "EnableCloudwatchLogsExports": ([str], False), + "EnableGlobalWriteForwarding": (boolean, False), "EnableHttpEndpoint": (boolean, False), "EnableIAMDatabaseAuthentication": (boolean, False), "Engine": (validate_engine, False), @@ -249,6 +250,7 @@ class DBInstance(AWSObject): "DBSecurityGroups": (list, False), "DBSnapshotIdentifier": (str, False), "DBSubnetGroupName": (str, False), + "DedicatedLogVolume": (boolean, False), "DeleteAutomatedBackups": (boolean, False), "DeletionProtection": (boolean, False), "Domain": (str, False), diff --git a/troposphere/redshift.py b/troposphere/redshift.py index 93e47432d..b758027a2 100644 --- a/troposphere/redshift.py +++ b/troposphere/redshift.py @@ -72,6 +72,7 @@ class Cluster(AWSObject): "ManualSnapshotRetentionPeriod": (integer, False), "MasterUserPassword": (str, True), "MasterUsername": (str, True), + "MultiAZ": (boolean, False), "NodeType": (str, True), "NumberOfNodes": (integer, False), "OwnerAccount": (str, False), diff --git a/troposphere/resourceexplorer2.py b/troposphere/resourceexplorer2.py index 2e076571c..0d69ac2fd 100644 --- a/troposphere/resourceexplorer2.py +++ b/troposphere/resourceexplorer2.py @@ -34,23 +34,23 @@ class Index(AWSObject): } -class Filters(AWSProperty): +class IncludedProperty(AWSProperty): """ - `Filters `__ + `IncludedProperty `__ """ props: PropsDictType = { - "FilterString": (str, True), + "Name": (str, True), } -class IncludedProperty(AWSProperty): +class SearchFilter(AWSProperty): """ - `IncludedProperty `__ + `SearchFilter `__ """ props: PropsDictType = { - "Name": (str, True), + "FilterString": (str, True), } @@ -62,7 +62,7 @@ class View(AWSObject): resource_type = "AWS::ResourceExplorer2::View" props: PropsDictType = { - "Filters": (Filters, False), + "Filters": (SearchFilter, False), "IncludedProperties": ([IncludedProperty], False), "Tags": (dict, False), "ViewName": (str, True), diff --git a/troposphere/s3.py b/troposphere/s3.py index d4c4fa42d..affec90c8 100644 --- a/troposphere/s3.py +++ b/troposphere/s3.py @@ -882,6 +882,27 @@ class BucketLevel(AWSProperty): } +class StorageLensGroupSelectionCriteria(AWSProperty): + """ + `StorageLensGroupSelectionCriteria `__ + """ + + props: PropsDictType = { + "Exclude": ([str], False), + "Include": ([str], False), + } + + +class StorageLensGroupLevel(AWSProperty): + """ + `StorageLensGroupLevel `__ + """ + + props: PropsDictType = { + "StorageLensGroupSelectionCriteria": (StorageLensGroupSelectionCriteria, False), + } + + class AccountLevel(AWSProperty): """ `AccountLevel `__ @@ -893,6 +914,7 @@ class AccountLevel(AWSProperty): "AdvancedDataProtectionMetrics": (AdvancedDataProtectionMetrics, False), "BucketLevel": (BucketLevel, True), "DetailedStatusCodesMetrics": (DetailedStatusCodesMetrics, False), + "StorageLensGroupLevel": (StorageLensGroupLevel, False), }