Skip to content
Open
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
33 changes: 30 additions & 3 deletions troposphere/accessanalyzer.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,9 @@ class Filter(AWSProperty):
}


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

props: PropsDictType = {
Expand All @@ -120,7 +120,34 @@ class Analyzer(AWSObject):
props: PropsDictType = {
"AnalyzerConfiguration": (AnalyzerConfiguration, False),
"AnalyzerName": (str, False),
"ArchiveRules": ([ArchiveRule], False),
"ArchiveRules": ([ArchiveRuleProperty], False),
"Tags": (Tags, False),
"Type": (str, True),
}


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

props: PropsDictType = {
"Contains": ([str], False),
"Eq": ([str], False),
"Exists": (boolean, False),
"Neq": ([str], False),
}


class ArchiveRule(AWSObject):
"""
`ArchiveRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-archiverule.html>`__
"""

resource_type = "AWS::AccessAnalyzer::ArchiveRule"

props: PropsDictType = {
"AnalyzerName": (str, True),
"Filter": (dict, True),
"RuleName": (str, True),
}
1 change: 1 addition & 0 deletions troposphere/amazonmq.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ class Broker(AWSObject):
"PubliclyAccessible": (boolean, True),
"ResourceShareArns": ([str], False),
"SecurityGroups": ([str], False),
"StorageSize": (integer, False),
"StorageType": (str, False),
"SubnetIds": ([str], False),
"Tags": (validate_tags_or_list, False),
Expand Down
13 changes: 13 additions & 0 deletions troposphere/amplify.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,19 @@ class Domain(AWSObject):
}


class Jobs(AWSObject):
"""
`Jobs <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-jobs.html>`__
"""

resource_type = "AWS::Amplify::Jobs"

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


class Certificate(AWSProperty):
"""
`Certificate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-certificate.html>`__
Expand Down
16 changes: 15 additions & 1 deletion troposphere/apigatewayv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 boolean, double, integer
from .validators.apigatewayv2 import (
dict_or_string,
Expand Down Expand Up @@ -361,6 +361,20 @@ def validate(self):
validate_model(self)


class PortalProduct(AWSObject):
"""
`PortalProduct <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-portalproduct.html>`__
"""

resource_type = "AWS::ApiGatewayV2::PortalProduct"

props: PropsDictType = {
"Description": (str, False),
"DisplayName": (str, True),
"Tags": (Tags, False),
}


class Route(AWSObject):
"""
`Route <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html>`__
Expand Down
51 changes: 51 additions & 0 deletions troposphere/appconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,57 @@ class Environment(AWSObject):
}


class AttributeValue(AWSProperty):
"""
`AttributeValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-experimentdefinition-attributevalue.html>`__
"""

props: PropsDictType = {
"BooleanValue": (boolean, False),
"NumberArray": ([double], False),
"NumberValue": (double, False),
"StringArray": ([str], False),
"StringValue": (str, False),
}


class Treatment(AWSProperty):
"""
`Treatment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-experimentdefinition-treatment.html>`__
"""

props: PropsDictType = {
"AttributeValues": (dict, False),
"Description": (str, False),
"Enabled": (boolean, True),
"Key": (str, False),
"Weight": (double, True),
}


class ExperimentDefinition(AWSObject):
"""
`ExperimentDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-experimentdefinition.html>`__
"""

resource_type = "AWS::AppConfig::ExperimentDefinition"

props: PropsDictType = {
"ApplicationIdentifier": (str, True),
"AudienceDescription": (str, False),
"AudienceRule": (str, True),
"ConfigurationProfileIdentifier": (str, True),
"Control": (Treatment, True),
"EnvironmentIdentifier": (str, True),
"FlagKey": (str, True),
"Hypothesis": (str, False),
"LaunchCriteria": (str, False),
"Name": (str, True),
"Tags": (Tags, False),
"Treatments": ([Treatment], True),
}


class Parameter(AWSProperty):
"""
`Parameter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-parameter.html>`__
Expand Down
27 changes: 27 additions & 0 deletions troposphere/appstream.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,32 @@ class ImageBuilder(AWSObject):
}


class AgentAccessSetting(AWSProperty):
"""
`AgentAccessSetting <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-agentaccesssetting.html>`__
"""

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


class AgentAccessConfig(AWSProperty):
"""
`AgentAccessConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-agentaccessconfig.html>`__
"""

props: PropsDictType = {
"S3BucketArn": (str, False),
"ScreenImageFormat": (str, True),
"ScreenResolution": (str, True),
"ScreenshotsUploadEnabled": (boolean, False),
"Settings": ([AgentAccessSetting], True),
"UserControlMode": (str, False),
}


class ApplicationSettings(AWSProperty):
"""
`ApplicationSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html>`__
Expand Down Expand Up @@ -382,6 +408,7 @@ class Stack(AWSObject):

props: PropsDictType = {
"AccessEndpoints": ([AccessEndpoint], False),
"AgentAccessConfig": (AgentAccessConfig, False),
"ApplicationSettings": (ApplicationSettings, False),
"AttributesToDelete": ([str], False),
"ContentRedirection": (ContentRedirection, False),
Expand Down
13 changes: 12 additions & 1 deletion troposphere/aps.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,24 @@ class AmpConfiguration(AWSProperty):
}


class CloudWatchConfiguration(AWSProperty):
"""
`CloudWatchConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-cloudwatchconfiguration.html>`__
"""

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


class Destination(AWSProperty):
"""
`Destination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-destination.html>`__
"""

props: PropsDictType = {
"AmpConfiguration": (AmpConfiguration, True),
"AmpConfiguration": (AmpConfiguration, False),
"CloudWatchConfiguration": (CloudWatchConfiguration, False),
}


Expand Down
34 changes: 24 additions & 10 deletions troposphere/athena.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,16 +96,6 @@ class PreparedStatement(AWSObject):
}


class CustomerContentEncryptionConfiguration(AWSProperty):
"""
`CustomerContentEncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-customercontentencryptionconfiguration.html>`__
"""

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


class Classification(AWSProperty):
"""
`Classification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-classification.html>`__
Expand All @@ -132,6 +122,30 @@ class EngineConfiguration(AWSProperty):
}


class Session(AWSObject):
"""
`Session <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-session.html>`__
"""

resource_type = "AWS::Athena::Session"

props: PropsDictType = {
"EngineConfiguration": (EngineConfiguration, True),
"ExecutionRole": (str, False),
"WorkGroup": (str, True),
}


class CustomerContentEncryptionConfiguration(AWSProperty):
"""
`CustomerContentEncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-customercontentencryptionconfiguration.html>`__
"""

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


class EngineVersion(AWSProperty):
"""
`EngineVersion <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html>`__
Expand Down
37 changes: 37 additions & 0 deletions troposphere/auditmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,40 @@ class Assessment(AWSObject):
"Status": (str, False),
"Tags": (Tags, False),
}


class ControlSetControl(AWSProperty):
"""
`ControlSetControl <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessmentframework-controlsetcontrol.html>`__
"""

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


class ControlSet(AWSProperty):
"""
`ControlSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-auditmanager-assessmentframework-controlset.html>`__
"""

props: PropsDictType = {
"Controls": ([ControlSetControl], True),
"Name": (str, True),
}


class AssessmentFramework(AWSObject):
"""
`AssessmentFramework <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessmentframework.html>`__
"""

resource_type = "AWS::AuditManager::AssessmentFramework"

props: PropsDictType = {
"ComplianceType": (str, False),
"ControlSets": ([ControlSet], True),
"Description": (str, False),
"Name": (str, True),
"Tags": (Tags, False),
}
2 changes: 2 additions & 0 deletions troposphere/awslambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,7 @@ class Code(AWSProperty):
"ImageUri": (str, False),
"S3Bucket": (str, False),
"S3Key": (str, False),
"S3ObjectStorageMode": (str, False),
"S3ObjectVersion": (str, False),
"SourceKMSKeyArn": (str, False),
"ZipFile": (str, False),
Expand All @@ -523,6 +524,7 @@ class DurableConfig(AWSProperty):

props: PropsDictType = {
"ExecutionTimeout": (integer, True),
"KMSKeyArn": (str, False),
"RetentionPeriodInDays": (integer, False),
}

Expand Down
49 changes: 49 additions & 0 deletions troposphere/backup.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,55 @@ class Framework(AWSObject):
}


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

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


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

props: PropsDictType = {
"DateRange": (DateRange, False),
"ResourceIdentifiers": ([str], False),
"VaultNames": ([str], False),
}


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

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


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

resource_type = "AWS::Backup::LegalHold"

props: PropsDictType = {
"Description": (str, True),
"RecoveryPointSelection": (RecoveryPointSelection, True),
"Tags": ([TagsItems], False),
"Title": (str, True),
}


class LogicallyAirGappedBackupVault(AWSObject):
"""
`LogicallyAirGappedBackupVault <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html>`__
Expand Down
Loading