Skip to content

Commit

Permalink
Updates from spec version 151.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
zipkid authored Dec 15, 2023
1 parent c57400a commit 7636ea8
Show file tree
Hide file tree
Showing 60 changed files with 2,227 additions and 239 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
16 changes: 14 additions & 2 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 @@ -208,14 +219,14 @@ class InstanceRequirements(AWSProperty):
"LocalStorage": (str, False),
"LocalStorageTypes": ([str], False),
"MemoryGiBPerVCpu": (MemoryGiBPerVCpuRequest, False),
"MemoryMiB": (MemoryMiBRequest, False),
"MemoryMiB": (MemoryMiBRequest, True),
"NetworkBandwidthGbps": (NetworkBandwidthGbpsRequest, False),
"NetworkInterfaceCount": (NetworkInterfaceCountRequest, False),
"OnDemandMaxPricePercentageOverLowestPrice": (integer, False),
"RequireHibernateSupport": (boolean, False),
"SpotMaxPricePercentageOverLowestPrice": (integer, False),
"TotalLocalStorageGB": (TotalLocalStorageGBRequest, False),
"VCpuCount": (VCpuCountRequest, False),
"VCpuCount": (VCpuCountRequest, True),
}


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
19 changes: 16 additions & 3 deletions troposphere/awslambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ class CodeSigningConfig(AWSObject):

class OnFailure(AWSProperty):
"""
`OnFailure <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onfailure.html>`__
`OnFailure <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onfailure.html>`__
"""

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

class OnSuccess(AWSProperty):
"""
`OnSuccess <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onsuccess.html>`__
`OnSuccess <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onsuccess.html>`__
"""

props: PropsDictType = {
Expand Down 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
Loading

0 comments on commit 7636ea8

Please sign in to comment.