From 369fe41424ac0aea803257a74298abde12413092 Mon Sep 17 00:00:00 2001 From: markpeek Date: Fri, 20 Oct 2023 13:08:11 +0000 Subject: [PATCH] Updates from spec version 145.0.0 --- troposphere/appconfig.py | 1 + troposphere/appintegrations.py | 2 +- troposphere/autoscaling.py | 26 +++++++++++------------ troposphere/awslambda.py | 13 ++++++++++++ troposphere/cognito.py | 39 ++++++++++++++++++++++++++++++++-- troposphere/connect.py | 2 ++ troposphere/ec2.py | 15 +++++++++++++ troposphere/emr.py | 2 +- troposphere/events.py | 13 ++---------- troposphere/gamelift.py | 1 + troposphere/iam.py | 2 +- troposphere/iot.py | 13 ++++++++++++ troposphere/kendra.py | 11 ---------- troposphere/quicksight.py | 16 ++++++++++++++ troposphere/sagemaker.py | 4 ++++ troposphere/wafv2.py | 1 + 16 files changed, 121 insertions(+), 40 deletions(-) diff --git a/troposphere/appconfig.py b/troposphere/appconfig.py index b2a73b153..92c3bb5c2 100644 --- a/troposphere/appconfig.py +++ b/troposphere/appconfig.py @@ -50,6 +50,7 @@ class ConfigurationProfile(AWSObject): props: PropsDictType = { "ApplicationId": (str, True), "Description": (str, False), + "KmsKeyIdentifier": (str, False), "LocationUri": (str, True), "Name": (str, True), "RetrievalRoleArn": (str, False), diff --git a/troposphere/appintegrations.py b/troposphere/appintegrations.py index 31075b587..1c3004c48 100644 --- a/troposphere/appintegrations.py +++ b/troposphere/appintegrations.py @@ -45,7 +45,7 @@ class DataIntegration(AWSObject): "KmsKey": (str, True), "Name": (str, True), "ObjectConfiguration": (dict, False), - "ScheduleConfig": (ScheduleConfig, True), + "ScheduleConfig": (ScheduleConfig, False), "SourceURI": (str, True), "Tags": (Tags, False), } diff --git a/troposphere/autoscaling.py b/troposphere/autoscaling.py index dca18ee9c..af3951118 100644 --- a/troposphere/autoscaling.py +++ b/troposphere/autoscaling.py @@ -64,7 +64,7 @@ class LifecycleHookSpecification(AWSProperty): class MetricsCollection(AWSProperty): """ - `MetricsCollection `__ + `MetricsCollection `__ """ props: PropsDictType = { @@ -75,7 +75,7 @@ class MetricsCollection(AWSProperty): class InstancesDistribution(AWSProperty): """ - `InstancesDistribution `__ + `InstancesDistribution `__ """ props: PropsDictType = { @@ -127,8 +127,8 @@ class MemoryGiBPerVCpuRequest(AWSProperty): """ props: PropsDictType = { - "Max": (integer, False), - "Min": (integer, False), + "Max": (double, False), + "Min": (double, False), } @@ -171,8 +171,8 @@ class TotalLocalStorageGBRequest(AWSProperty): """ props: PropsDictType = { - "Max": (integer, False), - "Min": (integer, False), + "Max": (double, False), + "Min": (double, False), } @@ -189,7 +189,7 @@ class VCpuCountRequest(AWSProperty): class InstanceRequirements(AWSProperty): """ - `InstanceRequirements `__ + `InstanceRequirements `__ """ props: PropsDictType = { @@ -221,7 +221,7 @@ class InstanceRequirements(AWSProperty): class LaunchTemplateOverrides(AWSProperty): """ - `LaunchTemplateOverrides `__ + `LaunchTemplateOverrides `__ """ props: PropsDictType = { @@ -234,7 +234,7 @@ class LaunchTemplateOverrides(AWSProperty): class LaunchTemplate(AWSProperty): """ - `LaunchTemplate `__ + `LaunchTemplate `__ """ props: PropsDictType = { @@ -245,7 +245,7 @@ class LaunchTemplate(AWSProperty): class MixedInstancesPolicy(AWSProperty): """ - `MixedInstancesPolicy `__ + `MixedInstancesPolicy `__ """ props: PropsDictType = { @@ -256,18 +256,18 @@ class MixedInstancesPolicy(AWSProperty): class NotificationConfigurations(AWSProperty): """ - `NotificationConfigurations `__ + `NotificationConfigurations `__ """ props: PropsDictType = { "NotificationTypes": ([str], False), - "TopicARN": (str, True), + "TopicARN": ([str], True), } class AutoScalingGroup(AWSObject): """ - `AutoScalingGroup `__ + `AutoScalingGroup `__ """ resource_type = "AWS::AutoScaling::AutoScalingGroup" diff --git a/troposphere/awslambda.py b/troposphere/awslambda.py index eb8b3eacf..7ce054e88 100644 --- a/troposphere/awslambda.py +++ b/troposphere/awslambda.py @@ -417,6 +417,7 @@ class Function(AWSObject): "Layers": ([str], False), "MemorySize": (validate_memory_size, False), "PackageType": (validate_package_type, False), + "Policy": (dict, False), "ReservedConcurrentExecutions": (integer, False), "Role": (str, True), "Runtime": (str, False), @@ -523,6 +524,17 @@ class Url(AWSObject): } +class RuntimePolicy(AWSProperty): + """ + `RuntimePolicy `__ + """ + + props: PropsDictType = { + "RuntimeVersionArn": (str, False), + "UpdateRuntimeOn": (str, True), + } + + class Version(AWSObject): """ `Version `__ @@ -535,6 +547,7 @@ class Version(AWSObject): "Description": (str, False), "FunctionName": (str, True), "ProvisionedConcurrencyConfig": (ProvisionedConcurrencyConfiguration, False), + "RuntimePolicy": (RuntimePolicy, False), } diff --git a/troposphere/cognito.py b/troposphere/cognito.py index 9cd4119c5..2f1fdbeff 100644 --- a/troposphere/cognito.py +++ b/troposphere/cognito.py @@ -7,7 +7,7 @@ from . import AWSObject, AWSProperty, PropsDictType -from .validators import boolean, double, integer +from .validators import boolean, integer from .validators.cognito import validate_recoveryoption_name @@ -97,6 +97,41 @@ class IdentityPoolRoleAttachment(AWSObject): } +class CloudWatchLogsConfiguration(AWSProperty): + """ + `CloudWatchLogsConfiguration `__ + """ + + props: PropsDictType = { + "LogGroupArn": (str, False), + } + + +class LogConfiguration(AWSProperty): + """ + `LogConfiguration `__ + """ + + props: PropsDictType = { + "CloudWatchLogsConfiguration": (CloudWatchLogsConfiguration, False), + "EventSource": (str, False), + "LogLevel": (str, False), + } + + +class LogDeliveryConfiguration(AWSObject): + """ + `LogDeliveryConfiguration `__ + """ + + resource_type = "AWS::Cognito::LogDeliveryConfiguration" + + props: PropsDictType = { + "LogConfigurations": ([LogConfiguration], False), + "UserPoolId": (str, True), + } + + class RecoveryOption(AWSProperty): """ `RecoveryOption `__ @@ -459,7 +494,7 @@ class UserPoolGroup(AWSObject): props: PropsDictType = { "Description": (str, False), "GroupName": (str, False), - "Precedence": (double, False), + "Precedence": (integer, False), "RoleArn": (str, False), "UserPoolId": (str, True), } diff --git a/troposphere/connect.py b/troposphere/connect.py index 162615a12..324c67137 100644 --- a/troposphere/connect.py +++ b/troposphere/connect.py @@ -395,6 +395,7 @@ class RoutingProfile(AWSObject): resource_type = "AWS::Connect::RoutingProfile" props: PropsDictType = { + "AgentAvailabilityTimer": (str, False), "DefaultOutboundQueueArn": (str, True), "Description": (str, True), "InstanceArn": (str, True), @@ -708,6 +709,7 @@ class UserHierarchyGroup(AWSObject): "InstanceArn": (str, True), "Name": (str, True), "ParentGroupArn": (str, False), + "Tags": (Tags, False), } diff --git a/troposphere/ec2.py b/troposphere/ec2.py index c257a78c5..7071ae5c8 100644 --- a/troposphere/ec2.py +++ b/troposphere/ec2.py @@ -2876,6 +2876,17 @@ class NetworkInterfaceOptions(AWSProperty): } +class SseSpecification(AWSProperty): + """ + `SseSpecification `__ + """ + + props: PropsDictType = { + "CustomerManagedKeyEnabled": (boolean, False), + "KmsKeyArn": (str, False), + } + + class VerifiedAccessEndpoint(AWSObject): """ `VerifiedAccessEndpoint `__ @@ -2895,6 +2906,7 @@ class VerifiedAccessEndpoint(AWSObject): "PolicyDocument": (str, False), "PolicyEnabled": (boolean, False), "SecurityGroupIds": ([str], False), + "SseSpecification": (SseSpecification, False), "Tags": (Tags, False), "VerifiedAccessGroupId": (str, True), } @@ -2911,6 +2923,7 @@ class VerifiedAccessGroup(AWSObject): "Description": (str, False), "PolicyDocument": (str, False), "PolicyEnabled": (boolean, False), + "SseSpecification": (SseSpecification, False), "Tags": (Tags, False), "VerifiedAccessInstanceId": (str, True), } @@ -2988,6 +3001,7 @@ class VerifiedAccessInstance(AWSObject): props: PropsDictType = { "Description": (str, False), + "FipsEnabled": (boolean, False), "LoggingConfigurations": (VerifiedAccessLogs, False), "Tags": (Tags, False), "VerifiedAccessTrustProviderIds": ([str], False), @@ -3034,6 +3048,7 @@ class VerifiedAccessTrustProvider(AWSObject): "DeviceTrustProviderType": (str, False), "OidcOptions": (OidcOptions, False), "PolicyReferenceName": (str, True), + "SseSpecification": (SseSpecification, False), "Tags": (Tags, False), "TrustProviderType": (str, True), "UserTrustProviderType": (str, False), diff --git a/troposphere/emr.py b/troposphere/emr.py index cf00898e3..1a6bf9a90 100644 --- a/troposphere/emr.py +++ b/troposphere/emr.py @@ -374,7 +374,7 @@ class ManagedScalingPolicy(AWSProperty): class HadoopJarStepConfig(AWSProperty): """ - `HadoopJarStepConfig `__ + `HadoopJarStepConfig `__ """ props: PropsDictType = { diff --git a/troposphere/events.py b/troposphere/events.py index 1e8bdf222..2fb8dc612 100644 --- a/troposphere/events.py +++ b/troposphere/events.py @@ -229,6 +229,7 @@ class EventBus(AWSObject): props: PropsDictType = { "EventSourceName": (str, False), "Name": (str, True), + "Policy": (dict, False), "Tags": (Tags, False), } @@ -427,6 +428,7 @@ class RedshiftDataParameters(AWSProperty): "DbUser": (str, False), "SecretManagerArn": (str, False), "Sql": (str, False), + "Sqls": ([str], False), "StatementName": (str, False), "WithEvent": (boolean, False), } @@ -538,14 +540,3 @@ class Rule(AWSObject): "Tags": (Tags, False), "Targets": ([Target], False), } - - -class TagEntry(AWSProperty): - """ - `TagEntry `__ - """ - - props: PropsDictType = { - "Key": (str, True), - "Value": (str, True), - } diff --git a/troposphere/gamelift.py b/troposphere/gamelift.py index 12e5dde86..9fc6ee71d 100644 --- a/troposphere/gamelift.py +++ b/troposphere/gamelift.py @@ -174,6 +174,7 @@ class Fleet(AWSObject): "EC2InstanceType": (str, False), "FleetType": (str, False), "InstanceRoleARN": (str, False), + "InstanceRoleCredentialsProvider": (str, False), "Locations": ([LocationConfiguration], False), "MaxSize": (integer, False), "MetricGroups": ([str], False), diff --git a/troposphere/iam.py b/troposphere/iam.py index 4c874f50e..07bf9fa5e 100644 --- a/troposphere/iam.py +++ b/troposphere/iam.py @@ -48,7 +48,7 @@ class Policy(AWSProperty): class Group(AWSObject): """ - `Group `__ + `Group `__ """ resource_type = "AWS::IAM::Group" diff --git a/troposphere/iot.py b/troposphere/iot.py index 4074ef319..dd4aa35c9 100644 --- a/troposphere/iot.py +++ b/troposphere/iot.py @@ -541,6 +541,7 @@ class Policy(AWSObject): props: PropsDictType = { "PolicyDocument": (policytypes, True), "PolicyName": (str, False), + "Tags": (Tags, False), } @@ -1106,6 +1107,17 @@ class IotSiteWiseAction(AWSProperty): } +class KafkaActionHeader(AWSProperty): + """ + `KafkaActionHeader `__ + """ + + props: PropsDictType = { + "Key": (str, True), + "Value": (str, True), + } + + class KafkaAction(AWSProperty): """ `KafkaAction `__ @@ -1114,6 +1126,7 @@ class KafkaAction(AWSProperty): props: PropsDictType = { "ClientProperties": (dict, True), "DestinationArn": (str, True), + "Headers": ([KafkaActionHeader], False), "Key": (str, False), "Partition": (str, False), "Topic": (str, True), diff --git a/troposphere/kendra.py b/troposphere/kendra.py index 2572e3a74..c48097731 100644 --- a/troposphere/kendra.py +++ b/troposphere/kendra.py @@ -548,16 +548,6 @@ class SharePointConfiguration(AWSProperty): } -class TemplateConfiguration(AWSProperty): - """ - `TemplateConfiguration `__ - """ - - props: PropsDictType = { - "Template": (str, True), - } - - class ProxyConfiguration(AWSProperty): """ `ProxyConfiguration `__ @@ -671,7 +661,6 @@ class DataSourceConfiguration(AWSProperty): "SalesforceConfiguration": (SalesforceConfiguration, False), "ServiceNowConfiguration": (ServiceNowConfiguration, False), "SharePointConfiguration": (SharePointConfiguration, False), - "TemplateConfiguration": (TemplateConfiguration, False), "WebCrawlerConfiguration": (WebCrawlerConfiguration, False), "WorkDocsConfiguration": (WorkDocsConfiguration, False), } diff --git a/troposphere/quicksight.py b/troposphere/quicksight.py index 986fef71f..8ac1ca8a3 100644 --- a/troposphere/quicksight.py +++ b/troposphere/quicksight.py @@ -429,6 +429,7 @@ class FilterListConfiguration(AWSProperty): props: PropsDictType = { "CategoryValues": ([str], False), "MatchOperator": (str, True), + "NullOption": (str, False), "SelectAllOptions": (str, False), } @@ -5739,6 +5740,16 @@ class ResourcePermission(AWSProperty): } +class ValidationStrategy(AWSProperty): + """ + `ValidationStrategy `__ + """ + + props: PropsDictType = { + "Mode": (str, True), + } + + class Analysis(AWSObject): """ `Analysis `__ @@ -5757,6 +5768,7 @@ class Analysis(AWSObject): "Status": (str, False), "Tags": (Tags, False), "ThemeArn": (str, False), + "ValidationStrategy": (ValidationStrategy, False), } @@ -5958,6 +5970,7 @@ class Dashboard(AWSObject): "SourceEntity": (DashboardSourceEntity, False), "Tags": (Tags, False), "ThemeArn": (str, False), + "ValidationStrategy": (ValidationStrategy, False), "VersionDescription": (str, False), } @@ -7003,6 +7016,7 @@ class Template(AWSObject): "SourceEntity": (TemplateSourceEntity, False), "Tags": (Tags, False), "TemplateId": (str, True), + "ValidationStrategy": (ValidationStrategy, False), "VersionDescription": (str, False), } @@ -7269,6 +7283,7 @@ class TopicCalculatedField(AWSProperty): "Expression": (str, True), "IsIncludedInTopic": (boolean, False), "NeverAggregateInFilter": (boolean, False), + "NonAdditive": (boolean, False), "NotAllowedAggregations": ([str], False), "SemanticType": (SemanticType, False), "TimeGranularity": (str, False), @@ -7293,6 +7308,7 @@ class TopicColumn(AWSProperty): "DefaultFormatting": (DefaultFormatting, False), "IsIncludedInTopic": (boolean, False), "NeverAggregateInFilter": (boolean, False), + "NonAdditive": (boolean, False), "NotAllowedAggregations": ([str], False), "SemanticType": (SemanticType, False), "TimeGranularity": (str, False), diff --git a/troposphere/sagemaker.py b/troposphere/sagemaker.py index 88d68a046..7d49cf9f0 100644 --- a/troposphere/sagemaker.py +++ b/troposphere/sagemaker.py @@ -200,6 +200,7 @@ class BatchTransformInput(AWSProperty): props: PropsDictType = { "DataCapturedDestinationS3Uri": (str, True), "DatasetFormat": (DatasetFormat, True), + "ExcludeFeaturesAttribute": (str, False), "LocalPath": (str, True), "S3DataDistributionType": (str, False), "S3InputMode": (str, False), @@ -213,6 +214,7 @@ class EndpointInput(AWSProperty): props: PropsDictType = { "EndpointName": (str, True), + "ExcludeFeaturesAttribute": (str, False), "LocalPath": (str, True), "S3DataDistributionType": (str, False), "S3InputMode": (str, False), @@ -2155,6 +2157,8 @@ class ScheduleConfig(AWSProperty): """ props: PropsDictType = { + "DataAnalysisEndTime": (str, False), + "DataAnalysisStartTime": (str, False), "ScheduleExpression": (str, True), } diff --git a/troposphere/wafv2.py b/troposphere/wafv2.py index daf260662..c53156c87 100644 --- a/troposphere/wafv2.py +++ b/troposphere/wafv2.py @@ -646,6 +646,7 @@ class AWSManagedRulesBotControlRuleSet(AWSProperty): """ props: PropsDictType = { + "EnableMachineLearning": (boolean, False), "InspectionLevel": (str, True), }