Skip to content

Commit

Permalink
Updates from spec version 150.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
zipkid authored Dec 8, 2023
1 parent c57400a commit 6d77a0c
Show file tree
Hide file tree
Showing 55 changed files with 1,997 additions and 190 deletions.
23 changes: 22 additions & 1 deletion troposphere/accessanalyzer.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,27 @@


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


class UnusedAccessConfiguration(AWSProperty):
"""
`UnusedAccessConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-unusedaccessconfiguration.html>`__
"""

props: PropsDictType = {
"UnusedAccessAge": (integer, False),
}


class AnalyzerConfiguration(AWSProperty):
"""
`AnalyzerConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analyzerconfiguration.html>`__
"""

props: PropsDictType = {
"UnusedAccessConfiguration": (UnusedAccessConfiguration, False),
}


class Filter(AWSProperty):
Expand Down Expand Up @@ -43,6 +63,7 @@ class Analyzer(AWSObject):
resource_type = "AWS::AccessAnalyzer::Analyzer"

props: PropsDictType = {
"AnalyzerConfiguration": (AnalyzerConfiguration, False),
"AnalyzerName": (str, False),
"ArchiveRules": ([ArchiveRule], False),
"Tags": (Tags, False),
Expand Down
8 changes: 4 additions & 4 deletions troposphere/apigateway.py
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ class GatewayResponse(AWSObject):

class IntegrationResponse(AWSProperty):
"""
`IntegrationResponse <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html>`__
`IntegrationResponse <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integrationresponse.html>`__
"""

props: PropsDictType = {
Expand All @@ -311,7 +311,7 @@ class IntegrationResponse(AWSProperty):

class Integration(AWSProperty):
"""
`Integration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html>`__
`Integration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html>`__
"""

props: PropsDictType = {
Expand All @@ -327,14 +327,14 @@ class Integration(AWSProperty):
"RequestParameters": (dict, False),
"RequestTemplates": (dict, False),
"TimeoutInMillis": (validate_timeout_in_millis, False),
"Type": (str, False),
"Type": (str, True),
"Uri": (str, False),
}


class MethodResponse(AWSProperty):
"""
`MethodResponse <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html>`__
`MethodResponse <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-methodresponse.html>`__
"""

props: PropsDictType = {
Expand Down
58 changes: 54 additions & 4 deletions troposphere/applicationautoscaling.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class ScalableTarget(AWSObject):

class StepAdjustment(AWSProperty):
"""
`StepAdjustment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html>`__
`StepAdjustment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html>`__
"""

props: PropsDictType = {
Expand Down Expand Up @@ -104,16 +104,66 @@ class MetricDimension(AWSProperty):
}


class TargetTrackingMetricDimension(AWSProperty):
"""
`TargetTrackingMetricDimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdimension.html>`__
"""

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


class TargetTrackingMetric(AWSProperty):
"""
`TargetTrackingMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html>`__
"""

props: PropsDictType = {
"Dimensions": ([TargetTrackingMetricDimension], False),
"MetricName": (str, False),
"Namespace": (str, False),
}


class TargetTrackingMetricStat(AWSProperty):
"""
`TargetTrackingMetricStat <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html>`__
"""

props: PropsDictType = {
"Metric": (TargetTrackingMetric, False),
"Stat": (str, False),
"Unit": (str, False),
}


class TargetTrackingMetricDataQuery(AWSProperty):
"""
`TargetTrackingMetricDataQuery <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html>`__
"""

props: PropsDictType = {
"Expression": (str, False),
"Id": (str, False),
"Label": (str, False),
"MetricStat": (TargetTrackingMetricStat, False),
"ReturnData": (boolean, False),
}


class CustomizedMetricSpecification(AWSProperty):
"""
`CustomizedMetricSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html>`__
"""

props: PropsDictType = {
"Dimensions": ([MetricDimension], False),
"MetricName": (str, True),
"Namespace": (str, True),
"Statistic": (str, True),
"MetricName": (str, False),
"Metrics": ([TargetTrackingMetricDataQuery], False),
"Namespace": (str, False),
"Statistic": (str, False),
"Unit": (str, False),
}

Expand Down
1 change: 1 addition & 0 deletions troposphere/apprunner.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ class NetworkConfiguration(AWSProperty):
props: PropsDictType = {
"EgressConfiguration": (EgressConfiguration, False),
"IngressConfiguration": (IngressConfiguration, False),
"IpAddressType": (str, False),
}


Expand Down
1 change: 1 addition & 0 deletions troposphere/appstream.py
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@ class UserSetting(AWSProperty):

props: PropsDictType = {
"Action": (str, True),
"MaximumLength": (integer, False),
"Permission": (str, True),
}

Expand Down
12 changes: 12 additions & 0 deletions troposphere/autoscaling.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@
)


class InstanceMaintenancePolicy(AWSProperty):
"""
`InstanceMaintenancePolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html>`__
"""

props: PropsDictType = {
"MaxHealthyPercentage": (integer, False),
"MinHealthyPercentage": (integer, False),
}


class LaunchTemplateSpecification(AWSProperty):
"""
`LaunchTemplateSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html>`__
Expand Down Expand Up @@ -284,6 +295,7 @@ class AutoScalingGroup(AWSObject):
"HealthCheckGracePeriod": (integer, False),
"HealthCheckType": (str, False),
"InstanceId": (str, False),
"InstanceMaintenancePolicy": (InstanceMaintenancePolicy, False),
"LaunchConfigurationName": (str, False),
"LaunchTemplate": (LaunchTemplateSpecification, False),
"LifecycleHookSpecificationList": ([LifecycleHookSpecification], False),
Expand Down
15 changes: 14 additions & 1 deletion troposphere/awslambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,19 @@ def validate(self):
validate_image_config(self)


class LoggingConfig(AWSProperty):
"""
`LoggingConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html>`__
"""

props: PropsDictType = {
"ApplicationLogLevel": (str, False),
"LogFormat": (str, False),
"LogGroup": (str, False),
"SystemLogLevel": (str, False),
}


class RuntimeManagementConfig(AWSProperty):
"""
`RuntimeManagementConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html>`__
Expand Down Expand Up @@ -415,9 +428,9 @@ class Function(AWSObject):
"ImageConfig": (ImageConfig, False),
"KmsKeyArn": (str, False),
"Layers": ([str], False),
"LoggingConfig": (LoggingConfig, False),
"MemorySize": (validate_memory_size, False),
"PackageType": (validate_package_type, False),
"Policy": (dict, False),
"ReservedConcurrentExecutions": (integer, False),
"Role": (str, True),
"Runtime": (str, False),
Expand Down
72 changes: 72 additions & 0 deletions troposphere/backup.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,3 +289,75 @@ class ReportPlan(AWSObject):
"ReportPlanTags": (Tags, False),
"ReportSetting": (ReportSetting, True),
}


class RestoreTestingRecoveryPointSelection(AWSProperty):
"""
`RestoreTestingRecoveryPointSelection <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.html>`__
"""

props: PropsDictType = {
"Algorithm": (str, True),
"ExcludeVaults": ([str], False),
"IncludeVaults": ([str], True),
"RecoveryPointTypes": ([str], True),
"SelectionWindowDays": (integer, False),
}


class RestoreTestingPlan(AWSObject):
"""
`RestoreTestingPlan <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html>`__
"""

resource_type = "AWS::Backup::RestoreTestingPlan"

props: PropsDictType = {
"RecoveryPointSelection": (RestoreTestingRecoveryPointSelection, True),
"RestoreTestingPlanName": (str, True),
"ScheduleExpression": (str, True),
"ScheduleExpressionTimezone": (str, False),
"StartWindowHours": (integer, False),
"Tags": (Tags, False),
}


class KeyValue(AWSProperty):
"""
`KeyValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-keyvalue.html>`__
"""

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


class ProtectedResourceConditions(AWSProperty):
"""
`ProtectedResourceConditions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-protectedresourceconditions.html>`__
"""

props: PropsDictType = {
"StringEquals": ([KeyValue], False),
"StringNotEquals": ([KeyValue], False),
}


class RestoreTestingSelection(AWSObject):
"""
`RestoreTestingSelection <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html>`__
"""

resource_type = "AWS::Backup::RestoreTestingSelection"

props: PropsDictType = {
"IamRoleArn": (str, True),
"ProtectedResourceArns": ([str], False),
"ProtectedResourceConditions": (ProtectedResourceConditions, False),
"ProtectedResourceType": (str, True),
"RestoreMetadataOverrides": (dict, False),
"RestoreTestingPlanName": (str, True),
"RestoreTestingSelectionName": (str, True),
"ValidationWindowHours": (integer, False),
}
1 change: 1 addition & 0 deletions troposphere/billingconductor.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ class CustomLineItem(AWSObject):
resource_type = "AWS::BillingConductor::CustomLineItem"

props: PropsDictType = {
"AccountId": (str, False),
"BillingGroupArn": (str, True),
"BillingPeriodRange": (BillingPeriodRange, False),
"CustomLineItemChargeDetails": (CustomLineItemChargeDetails, False),
Expand Down
43 changes: 43 additions & 0 deletions troposphere/cleanrooms.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,26 @@ class DataEncryptionMetadata(AWSProperty):
}


class QueryComputePaymentConfig(AWSProperty):
"""
`QueryComputePaymentConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-querycomputepaymentconfig.html>`__
"""

props: PropsDictType = {
"IsResponsible": (boolean, True),
}


class PaymentConfiguration(AWSProperty):
"""
`PaymentConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-paymentconfiguration.html>`__
"""

props: PropsDictType = {
"QueryCompute": (QueryComputePaymentConfig, True),
}


class MemberSpecification(AWSProperty):
"""
`MemberSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-memberspecification.html>`__
Expand All @@ -72,6 +92,7 @@ class MemberSpecification(AWSProperty):
"AccountId": (str, True),
"DisplayName": (str, True),
"MemberAbilities": ([str], True),
"PaymentConfiguration": (PaymentConfiguration, False),
}


Expand All @@ -85,6 +106,7 @@ class Collaboration(AWSObject):
props: PropsDictType = {
"CreatorDisplayName": (str, True),
"CreatorMemberAbilities": ([str], True),
"CreatorPaymentConfiguration": (PaymentConfiguration, False),
"DataEncryptionMetadata": (DataEncryptionMetadata, False),
"Description": (str, True),
"Members": ([MemberSpecification], True),
Expand Down Expand Up @@ -245,6 +267,26 @@ class ConfiguredTableAssociation(AWSObject):
}


class MembershipQueryComputePaymentConfig(AWSProperty):
"""
`MembershipQueryComputePaymentConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipquerycomputepaymentconfig.html>`__
"""

props: PropsDictType = {
"IsResponsible": (boolean, True),
}


class MembershipPaymentConfiguration(AWSProperty):
"""
`MembershipPaymentConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershippaymentconfiguration.html>`__
"""

props: PropsDictType = {
"QueryCompute": (MembershipQueryComputePaymentConfig, True),
}


class ProtectedQueryS3OutputConfiguration(AWSProperty):
"""
`ProtectedQueryS3OutputConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-protectedquerys3outputconfiguration.html>`__
Expand Down Expand Up @@ -291,6 +333,7 @@ class Membership(AWSObject):
MembershipProtectedQueryResultConfiguration,
False,
),
"PaymentConfiguration": (MembershipPaymentConfiguration, False),
"QueryLogStatus": (str, True),
"Tags": (Tags, False),
}
Expand Down
2 changes: 1 addition & 1 deletion troposphere/cloud9.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class EnvironmentEC2(AWSObject):
"AutomaticStopTimeMinutes": (integer, False),
"ConnectionType": (str, False),
"Description": (str, False),
"ImageId": (str, False),
"ImageId": (str, True),
"InstanceType": (str, True),
"Name": (str, False),
"OwnerArn": (str, False),
Expand Down
Loading

0 comments on commit 6d77a0c

Please sign in to comment.