package schema

// SamSchema defined a JSON Schema that can be used to validate CloudFormation/SAM templates
var SamSchema = `{
    "$id": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "definitions": {
        "AWS::ACMPCA::Certificate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiPassthrough": {
                            "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough"
                        },
                        "CertificateAuthorityArn": {
                            "type": "string"
                        },
                        "CertificateSigningRequest": {
                            "type": "string"
                        },
                        "SigningAlgorithm": {
                            "type": "string"
                        },
                        "TemplateArn": {
                            "type": "string"
                        },
                        "Validity": {
                            "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity"
                        },
                        "ValidityNotBefore": {
                            "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity"
                        }
                    },
                    "required": [
                        "CertificateAuthorityArn",
                        "CertificateSigningRequest",
                        "SigningAlgorithm",
                        "Validity"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ACMPCA::Certificate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.ApiPassthrough": {
            "additionalProperties": false,
            "properties": {
                "Extensions": {
                    "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions"
                },
                "Subject": {
                    "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.EdiPartyName": {
            "additionalProperties": false,
            "properties": {
                "NameAssigner": {
                    "type": "string"
                },
                "PartyName": {
                    "type": "string"
                }
            },
            "required": [
                "NameAssigner",
                "PartyName"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.ExtendedKeyUsage": {
            "additionalProperties": false,
            "properties": {
                "ExtendedKeyUsageObjectIdentifier": {
                    "type": "string"
                },
                "ExtendedKeyUsageType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.Extensions": {
            "additionalProperties": false,
            "properties": {
                "CertificatePolicies": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation"
                    },
                    "type": "array"
                },
                "ExtendedKeyUsage": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage"
                    },
                    "type": "array"
                },
                "KeyUsage": {
                    "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage"
                },
                "SubjectAlternativeNames": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.GeneralName": {
            "additionalProperties": false,
            "properties": {
                "DirectoryName": {
                    "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject"
                },
                "DnsName": {
                    "type": "string"
                },
                "EdiPartyName": {
                    "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName"
                },
                "IpAddress": {
                    "type": "string"
                },
                "OtherName": {
                    "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName"
                },
                "RegisteredId": {
                    "type": "string"
                },
                "Rfc822Name": {
                    "type": "string"
                },
                "UniformResourceIdentifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.KeyUsage": {
            "additionalProperties": false,
            "properties": {
                "CRLSign": {
                    "type": "boolean"
                },
                "DataEncipherment": {
                    "type": "boolean"
                },
                "DecipherOnly": {
                    "type": "boolean"
                },
                "DigitalSignature": {
                    "type": "boolean"
                },
                "EncipherOnly": {
                    "type": "boolean"
                },
                "KeyAgreement": {
                    "type": "boolean"
                },
                "KeyCertSign": {
                    "type": "boolean"
                },
                "KeyEncipherment": {
                    "type": "boolean"
                },
                "NonRepudiation": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.OtherName": {
            "additionalProperties": false,
            "properties": {
                "TypeId": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "TypeId",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.PolicyInformation": {
            "additionalProperties": false,
            "properties": {
                "CertPolicyId": {
                    "type": "string"
                },
                "PolicyQualifiers": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo"
                    },
                    "type": "array"
                }
            },
            "required": [
                "CertPolicyId"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.PolicyQualifierInfo": {
            "additionalProperties": false,
            "properties": {
                "PolicyQualifierId": {
                    "type": "string"
                },
                "Qualifier": {
                    "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier"
                }
            },
            "required": [
                "PolicyQualifierId",
                "Qualifier"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.Qualifier": {
            "additionalProperties": false,
            "properties": {
                "CpsUri": {
                    "type": "string"
                }
            },
            "required": [
                "CpsUri"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.Subject": {
            "additionalProperties": false,
            "properties": {
                "CommonName": {
                    "type": "string"
                },
                "Country": {
                    "type": "string"
                },
                "DistinguishedNameQualifier": {
                    "type": "string"
                },
                "GenerationQualifier": {
                    "type": "string"
                },
                "GivenName": {
                    "type": "string"
                },
                "Initials": {
                    "type": "string"
                },
                "Locality": {
                    "type": "string"
                },
                "Organization": {
                    "type": "string"
                },
                "OrganizationalUnit": {
                    "type": "string"
                },
                "Pseudonym": {
                    "type": "string"
                },
                "SerialNumber": {
                    "type": "string"
                },
                "State": {
                    "type": "string"
                },
                "Surname": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.Validity": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CsrExtensions": {
                            "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions"
                        },
                        "KeyAlgorithm": {
                            "type": "string"
                        },
                        "KeyStorageSecurityStandard": {
                            "type": "string"
                        },
                        "RevocationConfiguration": {
                            "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration"
                        },
                        "SigningAlgorithm": {
                            "type": "string"
                        },
                        "Subject": {
                            "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "KeyAlgorithm",
                        "SigningAlgorithm",
                        "Subject",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ACMPCA::CertificateAuthority"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.AccessDescription": {
            "additionalProperties": false,
            "properties": {
                "AccessLocation": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName"
                },
                "AccessMethod": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod"
                }
            },
            "required": [
                "AccessLocation",
                "AccessMethod"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.AccessMethod": {
            "additionalProperties": false,
            "properties": {
                "AccessMethodType": {
                    "type": "string"
                },
                "CustomObjectIdentifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CustomCname": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "ExpirationInDays": {
                    "type": "number"
                },
                "S3BucketName": {
                    "type": "string"
                },
                "S3ObjectAcl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.CsrExtensions": {
            "additionalProperties": false,
            "properties": {
                "KeyUsage": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage"
                },
                "SubjectInformationAccess": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.EdiPartyName": {
            "additionalProperties": false,
            "properties": {
                "NameAssigner": {
                    "type": "string"
                },
                "PartyName": {
                    "type": "string"
                }
            },
            "required": [
                "NameAssigner",
                "PartyName"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.GeneralName": {
            "additionalProperties": false,
            "properties": {
                "DirectoryName": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject"
                },
                "DnsName": {
                    "type": "string"
                },
                "EdiPartyName": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName"
                },
                "IpAddress": {
                    "type": "string"
                },
                "OtherName": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName"
                },
                "RegisteredId": {
                    "type": "string"
                },
                "Rfc822Name": {
                    "type": "string"
                },
                "UniformResourceIdentifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.KeyUsage": {
            "additionalProperties": false,
            "properties": {
                "CRLSign": {
                    "type": "boolean"
                },
                "DataEncipherment": {
                    "type": "boolean"
                },
                "DecipherOnly": {
                    "type": "boolean"
                },
                "DigitalSignature": {
                    "type": "boolean"
                },
                "EncipherOnly": {
                    "type": "boolean"
                },
                "KeyAgreement": {
                    "type": "boolean"
                },
                "KeyCertSign": {
                    "type": "boolean"
                },
                "KeyEncipherment": {
                    "type": "boolean"
                },
                "NonRepudiation": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.OtherName": {
            "additionalProperties": false,
            "properties": {
                "TypeId": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "TypeId",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CrlConfiguration": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.Subject": {
            "additionalProperties": false,
            "properties": {
                "CommonName": {
                    "type": "string"
                },
                "Country": {
                    "type": "string"
                },
                "DistinguishedNameQualifier": {
                    "type": "string"
                },
                "GenerationQualifier": {
                    "type": "string"
                },
                "GivenName": {
                    "type": "string"
                },
                "Initials": {
                    "type": "string"
                },
                "Locality": {
                    "type": "string"
                },
                "Organization": {
                    "type": "string"
                },
                "OrganizationalUnit": {
                    "type": "string"
                },
                "Pseudonym": {
                    "type": "string"
                },
                "SerialNumber": {
                    "type": "string"
                },
                "State": {
                    "type": "string"
                },
                "Surname": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthorityActivation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Certificate": {
                            "type": "string"
                        },
                        "CertificateAuthorityArn": {
                            "type": "string"
                        },
                        "CertificateChain": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Certificate",
                        "CertificateAuthorityArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ACMPCA::CertificateAuthorityActivation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AccessAnalyzer::Analyzer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AnalyzerName": {
                            "type": "string"
                        },
                        "ArchiveRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AccessAnalyzer::Analyzer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AccessAnalyzer::Analyzer.ArchiveRule": {
            "additionalProperties": false,
            "properties": {
                "Filter": {
                    "items": {
                        "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter"
                    },
                    "type": "array"
                },
                "RuleName": {
                    "type": "string"
                }
            },
            "required": [
                "Filter",
                "RuleName"
            ],
            "type": "object"
        },
        "AWS::AccessAnalyzer::Analyzer.Filter": {
            "additionalProperties": false,
            "properties": {
                "Contains": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Eq": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Exists": {
                    "type": "boolean"
                },
                "Neq": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Property": {
                    "type": "string"
                }
            },
            "required": [
                "Property"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Broker": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthenticationStrategy": {
                            "type": "string"
                        },
                        "AutoMinorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "BrokerName": {
                            "type": "string"
                        },
                        "Configuration": {
                            "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId"
                        },
                        "DeploymentMode": {
                            "type": "string"
                        },
                        "EncryptionOptions": {
                            "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions"
                        },
                        "EngineType": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "HostInstanceType": {
                            "type": "string"
                        },
                        "LdapServerMetadata": {
                            "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata"
                        },
                        "Logs": {
                            "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList"
                        },
                        "MaintenanceWindowStartTime": {
                            "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow"
                        },
                        "PubliclyAccessible": {
                            "type": "boolean"
                        },
                        "SecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "StorageType": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry"
                            },
                            "type": "array"
                        },
                        "Users": {
                            "items": {
                                "$ref": "#/definitions/AWS::AmazonMQ::Broker.User"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AutoMinorVersionUpgrade",
                        "BrokerName",
                        "DeploymentMode",
                        "EngineType",
                        "EngineVersion",
                        "HostInstanceType",
                        "PubliclyAccessible",
                        "Users"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AmazonMQ::Broker"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Broker.ConfigurationId": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Revision": {
                    "type": "number"
                }
            },
            "required": [
                "Id",
                "Revision"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Broker.EncryptionOptions": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "UseAwsOwnedKey": {
                    "type": "boolean"
                }
            },
            "required": [
                "UseAwsOwnedKey"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Broker.LdapServerMetadata": {
            "additionalProperties": false,
            "properties": {
                "Hosts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RoleBase": {
                    "type": "string"
                },
                "RoleName": {
                    "type": "string"
                },
                "RoleSearchMatching": {
                    "type": "string"
                },
                "RoleSearchSubtree": {
                    "type": "boolean"
                },
                "ServiceAccountPassword": {
                    "type": "string"
                },
                "ServiceAccountUsername": {
                    "type": "string"
                },
                "UserBase": {
                    "type": "string"
                },
                "UserRoleName": {
                    "type": "string"
                },
                "UserSearchMatching": {
                    "type": "string"
                },
                "UserSearchSubtree": {
                    "type": "boolean"
                }
            },
            "required": [
                "Hosts",
                "RoleBase",
                "RoleSearchMatching",
                "ServiceAccountPassword",
                "ServiceAccountUsername",
                "UserBase",
                "UserSearchMatching"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Broker.LogList": {
            "additionalProperties": false,
            "properties": {
                "Audit": {
                    "type": "boolean"
                },
                "General": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::AmazonMQ::Broker.MaintenanceWindow": {
            "additionalProperties": false,
            "properties": {
                "DayOfWeek": {
                    "type": "string"
                },
                "TimeOfDay": {
                    "type": "string"
                },
                "TimeZone": {
                    "type": "string"
                }
            },
            "required": [
                "DayOfWeek",
                "TimeOfDay",
                "TimeZone"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Broker.TagsEntry": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Broker.User": {
            "additionalProperties": false,
            "properties": {
                "ConsoleAccess": {
                    "type": "boolean"
                },
                "Groups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Configuration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthenticationStrategy": {
                            "type": "string"
                        },
                        "Data": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EngineType": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Data",
                        "EngineType",
                        "EngineVersion",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AmazonMQ::Configuration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::Configuration.TagsEntry": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::ConfigurationAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Broker": {
                            "type": "string"
                        },
                        "Configuration": {
                            "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId"
                        }
                    },
                    "required": [
                        "Broker",
                        "Configuration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AmazonMQ::ConfigurationAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Revision": {
                    "type": "number"
                }
            },
            "required": [
                "Id",
                "Revision"
            ],
            "type": "object"
        },
        "AWS::Amplify::App": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessToken": {
                            "type": "string"
                        },
                        "AutoBranchCreationConfig": {
                            "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig"
                        },
                        "BasicAuthConfig": {
                            "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig"
                        },
                        "BuildSpec": {
                            "type": "string"
                        },
                        "CustomHeaders": {
                            "type": "string"
                        },
                        "CustomRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::Amplify::App.CustomRule"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EnableBranchAutoDeletion": {
                            "type": "boolean"
                        },
                        "EnvironmentVariables": {
                            "items": {
                                "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable"
                            },
                            "type": "array"
                        },
                        "IAMServiceRole": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OauthToken": {
                            "type": "string"
                        },
                        "Repository": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Amplify::App"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Amplify::App.AutoBranchCreationConfig": {
            "additionalProperties": false,
            "properties": {
                "AutoBranchCreationPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "BasicAuthConfig": {
                    "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig"
                },
                "BuildSpec": {
                    "type": "string"
                },
                "EnableAutoBranchCreation": {
                    "type": "boolean"
                },
                "EnableAutoBuild": {
                    "type": "boolean"
                },
                "EnablePerformanceMode": {
                    "type": "boolean"
                },
                "EnablePullRequestPreview": {
                    "type": "boolean"
                },
                "EnvironmentVariables": {
                    "items": {
                        "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable"
                    },
                    "type": "array"
                },
                "PullRequestEnvironmentName": {
                    "type": "string"
                },
                "Stage": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Amplify::App.BasicAuthConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableBasicAuth": {
                    "type": "boolean"
                },
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Amplify::App.CustomRule": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "Target": {
                    "type": "string"
                }
            },
            "required": [
                "Source",
                "Target"
            ],
            "type": "object"
        },
        "AWS::Amplify::App.EnvironmentVariable": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Amplify::Branch": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppId": {
                            "type": "string"
                        },
                        "BasicAuthConfig": {
                            "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig"
                        },
                        "BranchName": {
                            "type": "string"
                        },
                        "BuildSpec": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EnableAutoBuild": {
                            "type": "boolean"
                        },
                        "EnablePerformanceMode": {
                            "type": "boolean"
                        },
                        "EnablePullRequestPreview": {
                            "type": "boolean"
                        },
                        "EnvironmentVariables": {
                            "items": {
                                "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable"
                            },
                            "type": "array"
                        },
                        "PullRequestEnvironmentName": {
                            "type": "string"
                        },
                        "Stage": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AppId",
                        "BranchName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Amplify::Branch"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Amplify::Branch.BasicAuthConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableBasicAuth": {
                    "type": "boolean"
                },
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::Amplify::Branch.EnvironmentVariable": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Amplify::Domain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppId": {
                            "type": "string"
                        },
                        "AutoSubDomainCreationPatterns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AutoSubDomainIAMRole": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "EnableAutoSubDomain": {
                            "type": "boolean"
                        },
                        "SubDomainSettings": {
                            "items": {
                                "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AppId",
                        "DomainName",
                        "SubDomainSettings"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Amplify::Domain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Amplify::Domain.SubDomainSetting": {
            "additionalProperties": false,
            "properties": {
                "BranchName": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "BranchName",
                "Prefix"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Account": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CloudWatchRoleArn": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::Account"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::ApiKey": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CustomerId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "GenerateDistinctId": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "StageKeys": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Value": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::ApiKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::ApiKey.StageKey": {
            "additionalProperties": false,
            "properties": {
                "RestApiId": {
                    "type": "string"
                },
                "StageName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Authorizer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthType": {
                            "type": "string"
                        },
                        "AuthorizerCredentials": {
                            "type": "string"
                        },
                        "AuthorizerResultTtlInSeconds": {
                            "type": "number"
                        },
                        "AuthorizerUri": {
                            "type": "string"
                        },
                        "IdentitySource": {
                            "type": "string"
                        },
                        "IdentityValidationExpression": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ProviderARNs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "RestApiId": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RestApiId",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::Authorizer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::BasePathMapping": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BasePath": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        },
                        "Stage": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::BasePathMapping"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::ClientCertificate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::ClientCertificate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Deployment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeploymentCanarySettings": {
                            "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        },
                        "StageDescription": {
                            "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription"
                        },
                        "StageName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::Deployment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Deployment.AccessLogSetting": {
            "additionalProperties": false,
            "properties": {
                "DestinationArn": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Deployment.CanarySetting": {
            "additionalProperties": false,
            "properties": {
                "PercentTraffic": {
                    "type": "number"
                },
                "StageVariableOverrides": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "UseStageCache": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Deployment.DeploymentCanarySettings": {
            "additionalProperties": false,
            "properties": {
                "PercentTraffic": {
                    "type": "number"
                },
                "StageVariableOverrides": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "UseStageCache": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Deployment.MethodSetting": {
            "additionalProperties": false,
            "properties": {
                "CacheDataEncrypted": {
                    "type": "boolean"
                },
                "CacheTtlInSeconds": {
                    "type": "number"
                },
                "CachingEnabled": {
                    "type": "boolean"
                },
                "DataTraceEnabled": {
                    "type": "boolean"
                },
                "HttpMethod": {
                    "type": "string"
                },
                "LoggingLevel": {
                    "type": "string"
                },
                "MetricsEnabled": {
                    "type": "boolean"
                },
                "ResourcePath": {
                    "type": "string"
                },
                "ThrottlingBurstLimit": {
                    "type": "number"
                },
                "ThrottlingRateLimit": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Deployment.StageDescription": {
            "additionalProperties": false,
            "properties": {
                "AccessLogSetting": {
                    "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting"
                },
                "CacheClusterEnabled": {
                    "type": "boolean"
                },
                "CacheClusterSize": {
                    "type": "string"
                },
                "CacheDataEncrypted": {
                    "type": "boolean"
                },
                "CacheTtlInSeconds": {
                    "type": "number"
                },
                "CachingEnabled": {
                    "type": "boolean"
                },
                "CanarySetting": {
                    "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting"
                },
                "ClientCertificateId": {
                    "type": "string"
                },
                "DataTraceEnabled": {
                    "type": "boolean"
                },
                "Description": {
                    "type": "string"
                },
                "DocumentationVersion": {
                    "type": "string"
                },
                "LoggingLevel": {
                    "type": "string"
                },
                "MethodSettings": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting"
                    },
                    "type": "array"
                },
                "MetricsEnabled": {
                    "type": "boolean"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                },
                "ThrottlingBurstLimit": {
                    "type": "number"
                },
                "ThrottlingRateLimit": {
                    "type": "number"
                },
                "TracingEnabled": {
                    "type": "boolean"
                },
                "Variables": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::DocumentationPart": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Location": {
                            "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location"
                        },
                        "Properties": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Location",
                        "Properties",
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::DocumentationPart"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::DocumentationPart.Location": {
            "additionalProperties": false,
            "properties": {
                "Method": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Path": {
                    "type": "string"
                },
                "StatusCode": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::DocumentationVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "DocumentationVersion": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DocumentationVersion",
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::DocumentationVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::DomainName": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CertificateArn": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "EndpointConfiguration": {
                            "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration"
                        },
                        "MutualTlsAuthentication": {
                            "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication"
                        },
                        "RegionalCertificateArn": {
                            "type": "string"
                        },
                        "SecurityPolicy": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::DomainName"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::DomainName.EndpointConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Types": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::DomainName.MutualTlsAuthentication": {
            "additionalProperties": false,
            "properties": {
                "TruststoreUri": {
                    "type": "string"
                },
                "TruststoreVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::GatewayResponse": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResponseParameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "ResponseTemplates": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "ResponseType": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        },
                        "StatusCode": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResponseType",
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::GatewayResponse"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Method": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiKeyRequired": {
                            "type": "boolean"
                        },
                        "AuthorizationScopes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AuthorizationType": {
                            "type": "string"
                        },
                        "AuthorizerId": {
                            "type": "string"
                        },
                        "HttpMethod": {
                            "type": "string"
                        },
                        "Integration": {
                            "$ref": "#/definitions/AWS::ApiGateway::Method.Integration"
                        },
                        "MethodResponses": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse"
                            },
                            "type": "array"
                        },
                        "OperationName": {
                            "type": "string"
                        },
                        "RequestModels": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "RequestParameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "boolean"
                                }
                            },
                            "type": "object"
                        },
                        "RequestValidatorId": {
                            "type": "string"
                        },
                        "ResourceId": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "HttpMethod",
                        "ResourceId",
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::Method"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Method.Integration": {
            "additionalProperties": false,
            "properties": {
                "CacheKeyParameters": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CacheNamespace": {
                    "type": "string"
                },
                "ConnectionId": {
                    "type": "string"
                },
                "ConnectionType": {
                    "type": "string"
                },
                "ContentHandling": {
                    "type": "string"
                },
                "Credentials": {
                    "type": "string"
                },
                "IntegrationHttpMethod": {
                    "type": "string"
                },
                "IntegrationResponses": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse"
                    },
                    "type": "array"
                },
                "PassthroughBehavior": {
                    "type": "string"
                },
                "RequestParameters": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "RequestTemplates": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "TimeoutInMillis": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                },
                "Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Method.IntegrationResponse": {
            "additionalProperties": false,
            "properties": {
                "ContentHandling": {
                    "type": "string"
                },
                "ResponseParameters": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "ResponseTemplates": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "SelectionPattern": {
                    "type": "string"
                },
                "StatusCode": {
                    "type": "string"
                }
            },
            "required": [
                "StatusCode"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Method.MethodResponse": {
            "additionalProperties": false,
            "properties": {
                "ResponseModels": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "ResponseParameters": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                "StatusCode": {
                    "type": "string"
                }
            },
            "required": [
                "StatusCode"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Model": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContentType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        },
                        "Schema": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::Model"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::RequestValidator": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        },
                        "ValidateRequestBody": {
                            "type": "boolean"
                        },
                        "ValidateRequestParameters": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::RequestValidator"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Resource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ParentId": {
                            "type": "string"
                        },
                        "PathPart": {
                            "type": "string"
                        },
                        "RestApiId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ParentId",
                        "PathPart",
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::Resource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::RestApi": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiKeySourceType": {
                            "type": "string"
                        },
                        "BinaryMediaTypes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Body": {
                            "type": "object"
                        },
                        "BodyS3Location": {
                            "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location"
                        },
                        "CloneFrom": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisableExecuteApiEndpoint": {
                            "type": "boolean"
                        },
                        "EndpointConfiguration": {
                            "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration"
                        },
                        "FailOnWarnings": {
                            "type": "boolean"
                        },
                        "MinimumCompressionSize": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Policy": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::RestApi"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::RestApi.EndpointConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Types": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "VpcEndpointIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::RestApi.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "ETag": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Stage": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessLogSetting": {
                            "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting"
                        },
                        "CacheClusterEnabled": {
                            "type": "boolean"
                        },
                        "CacheClusterSize": {
                            "type": "string"
                        },
                        "CanarySetting": {
                            "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting"
                        },
                        "ClientCertificateId": {
                            "type": "string"
                        },
                        "DeploymentId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DocumentationVersion": {
                            "type": "string"
                        },
                        "MethodSettings": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting"
                            },
                            "type": "array"
                        },
                        "RestApiId": {
                            "type": "string"
                        },
                        "StageName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TracingEnabled": {
                            "type": "boolean"
                        },
                        "Variables": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "RestApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::Stage"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::Stage.AccessLogSetting": {
            "additionalProperties": false,
            "properties": {
                "DestinationArn": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Stage.CanarySetting": {
            "additionalProperties": false,
            "properties": {
                "DeploymentId": {
                    "type": "string"
                },
                "PercentTraffic": {
                    "type": "number"
                },
                "StageVariableOverrides": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "UseStageCache": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Stage.MethodSetting": {
            "additionalProperties": false,
            "properties": {
                "CacheDataEncrypted": {
                    "type": "boolean"
                },
                "CacheTtlInSeconds": {
                    "type": "number"
                },
                "CachingEnabled": {
                    "type": "boolean"
                },
                "DataTraceEnabled": {
                    "type": "boolean"
                },
                "HttpMethod": {
                    "type": "string"
                },
                "LoggingLevel": {
                    "type": "string"
                },
                "MetricsEnabled": {
                    "type": "boolean"
                },
                "ResourcePath": {
                    "type": "string"
                },
                "ThrottlingBurstLimit": {
                    "type": "number"
                },
                "ThrottlingRateLimit": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::UsagePlan": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiStages": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Quota": {
                            "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Throttle": {
                            "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings"
                        },
                        "UsagePlanName": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::UsagePlan"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::UsagePlan.ApiStage": {
            "additionalProperties": false,
            "properties": {
                "ApiId": {
                    "type": "string"
                },
                "Stage": {
                    "type": "string"
                },
                "Throttle": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::UsagePlan.QuotaSettings": {
            "additionalProperties": false,
            "properties": {
                "Limit": {
                    "type": "number"
                },
                "Offset": {
                    "type": "number"
                },
                "Period": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::UsagePlan.ThrottleSettings": {
            "additionalProperties": false,
            "properties": {
                "BurstLimit": {
                    "type": "number"
                },
                "RateLimit": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::UsagePlanKey": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "KeyId": {
                            "type": "string"
                        },
                        "KeyType": {
                            "type": "string"
                        },
                        "UsagePlanId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "KeyId",
                        "KeyType",
                        "UsagePlanId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::UsagePlanKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGateway::VpcLink": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "TargetArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "TargetArns"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGateway::VpcLink"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Api": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiKeySelectionExpression": {
                            "type": "string"
                        },
                        "BasePath": {
                            "type": "string"
                        },
                        "Body": {
                            "type": "object"
                        },
                        "BodyS3Location": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location"
                        },
                        "CorsConfiguration": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors"
                        },
                        "CredentialsArn": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisableExecuteApiEndpoint": {
                            "type": "boolean"
                        },
                        "DisableSchemaValidation": {
                            "type": "boolean"
                        },
                        "FailOnWarnings": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ProtocolType": {
                            "type": "string"
                        },
                        "RouteKey": {
                            "type": "string"
                        },
                        "RouteSelectionExpression": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Target": {
                            "type": "string"
                        },
                        "Version": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::Api"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Api.BodyS3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Etag": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::Api.Cors": {
            "additionalProperties": false,
            "properties": {
                "AllowCredentials": {
                    "type": "boolean"
                },
                "AllowHeaders": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowMethods": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowOrigins": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExposeHeaders": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MaxAge": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "Integration": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides"
                        },
                        "Route": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides"
                        },
                        "Stage": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides"
                        }
                    },
                    "required": [
                        "ApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::ApiGatewayManagedOverrides"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": {
            "additionalProperties": false,
            "properties": {
                "DestinationArn": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "IntegrationMethod": {
                    "type": "string"
                },
                "PayloadFormatVersion": {
                    "type": "string"
                },
                "TimeoutInMillis": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": {
            "additionalProperties": false,
            "properties": {
                "AuthorizationScopes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AuthorizationType": {
                    "type": "string"
                },
                "AuthorizerId": {
                    "type": "string"
                },
                "OperationName": {
                    "type": "string"
                },
                "Target": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": {
            "additionalProperties": false,
            "properties": {
                "DataTraceEnabled": {
                    "type": "boolean"
                },
                "DetailedMetricsEnabled": {
                    "type": "boolean"
                },
                "LoggingLevel": {
                    "type": "string"
                },
                "ThrottlingBurstLimit": {
                    "type": "number"
                },
                "ThrottlingRateLimit": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": {
            "additionalProperties": false,
            "properties": {
                "AccessLogSettings": {
                    "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings"
                },
                "AutoDeploy": {
                    "type": "boolean"
                },
                "DefaultRouteSettings": {
                    "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings"
                },
                "Description": {
                    "type": "string"
                },
                "RouteSettings": {
                    "type": "object"
                },
                "StageVariables": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::ApiMapping": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "ApiMappingKey": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "Stage": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "DomainName",
                        "Stage"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::ApiMapping"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Authorizer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "AuthorizerCredentialsArn": {
                            "type": "string"
                        },
                        "AuthorizerPayloadFormatVersion": {
                            "type": "string"
                        },
                        "AuthorizerResultTtlInSeconds": {
                            "type": "number"
                        },
                        "AuthorizerType": {
                            "type": "string"
                        },
                        "AuthorizerUri": {
                            "type": "string"
                        },
                        "EnableSimpleResponses": {
                            "type": "boolean"
                        },
                        "IdentitySource": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "IdentityValidationExpression": {
                            "type": "string"
                        },
                        "JwtConfiguration": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "AuthorizerType",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::Authorizer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Audience": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Issuer": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::Deployment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "StageName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::Deployment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::DomainName": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DomainName": {
                            "type": "string"
                        },
                        "DomainNameConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration"
                            },
                            "type": "array"
                        },
                        "MutualTlsAuthentication": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::DomainName"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                },
                "CertificateName": {
                    "type": "string"
                },
                "EndpointType": {
                    "type": "string"
                },
                "SecurityPolicy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": {
            "additionalProperties": false,
            "properties": {
                "TruststoreUri": {
                    "type": "string"
                },
                "TruststoreVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::Integration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "ConnectionId": {
                            "type": "string"
                        },
                        "ConnectionType": {
                            "type": "string"
                        },
                        "ContentHandlingStrategy": {
                            "type": "string"
                        },
                        "CredentialsArn": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "IntegrationMethod": {
                            "type": "string"
                        },
                        "IntegrationSubtype": {
                            "type": "string"
                        },
                        "IntegrationType": {
                            "type": "string"
                        },
                        "IntegrationUri": {
                            "type": "string"
                        },
                        "PassthroughBehavior": {
                            "type": "string"
                        },
                        "PayloadFormatVersion": {
                            "type": "string"
                        },
                        "RequestParameters": {
                            "type": "object"
                        },
                        "RequestTemplates": {
                            "type": "object"
                        },
                        "ResponseParameters": {
                            "type": "object"
                        },
                        "TemplateSelectionExpression": {
                            "type": "string"
                        },
                        "TimeoutInMillis": {
                            "type": "number"
                        },
                        "TlsConfig": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig"
                        }
                    },
                    "required": [
                        "ApiId",
                        "IntegrationType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::Integration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Integration.ResponseParameter": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                }
            },
            "required": [
                "Destination",
                "Source"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Integration.ResponseParameterList": {
            "additionalProperties": false,
            "properties": {
                "ResponseParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::Integration.TlsConfig": {
            "additionalProperties": false,
            "properties": {
                "ServerNameToVerify": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::IntegrationResponse": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "ContentHandlingStrategy": {
                            "type": "string"
                        },
                        "IntegrationId": {
                            "type": "string"
                        },
                        "IntegrationResponseKey": {
                            "type": "string"
                        },
                        "ResponseParameters": {
                            "type": "object"
                        },
                        "ResponseTemplates": {
                            "type": "object"
                        },
                        "TemplateSelectionExpression": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "IntegrationId",
                        "IntegrationResponseKey"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::IntegrationResponse"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Model": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "ContentType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Schema": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "ApiId",
                        "Name",
                        "Schema"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::Model"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Route": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "ApiKeyRequired": {
                            "type": "boolean"
                        },
                        "AuthorizationScopes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AuthorizationType": {
                            "type": "string"
                        },
                        "AuthorizerId": {
                            "type": "string"
                        },
                        "ModelSelectionExpression": {
                            "type": "string"
                        },
                        "OperationName": {
                            "type": "string"
                        },
                        "RequestModels": {
                            "type": "object"
                        },
                        "RequestParameters": {
                            "type": "object"
                        },
                        "RouteKey": {
                            "type": "string"
                        },
                        "RouteResponseSelectionExpression": {
                            "type": "string"
                        },
                        "Target": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "RouteKey"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::Route"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Route.ParameterConstraints": {
            "additionalProperties": false,
            "properties": {
                "Required": {
                    "type": "boolean"
                }
            },
            "required": [
                "Required"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::RouteResponse": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "ModelSelectionExpression": {
                            "type": "string"
                        },
                        "ResponseModels": {
                            "type": "object"
                        },
                        "ResponseParameters": {
                            "type": "object"
                        },
                        "RouteId": {
                            "type": "string"
                        },
                        "RouteResponseKey": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "RouteId",
                        "RouteResponseKey"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::RouteResponse"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": {
            "additionalProperties": false,
            "properties": {
                "Required": {
                    "type": "boolean"
                }
            },
            "required": [
                "Required"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Stage": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessLogSettings": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings"
                        },
                        "AccessPolicyId": {
                            "type": "string"
                        },
                        "ApiId": {
                            "type": "string"
                        },
                        "AutoDeploy": {
                            "type": "boolean"
                        },
                        "ClientCertificateId": {
                            "type": "string"
                        },
                        "DefaultRouteSettings": {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings"
                        },
                        "DeploymentId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "RouteSettings": {
                            "type": "object"
                        },
                        "StageName": {
                            "type": "string"
                        },
                        "StageVariables": {
                            "type": "object"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "ApiId",
                        "StageName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::Stage"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApiGatewayV2::Stage.AccessLogSettings": {
            "additionalProperties": false,
            "properties": {
                "DestinationArn": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::Stage.RouteSettings": {
            "additionalProperties": false,
            "properties": {
                "DataTraceEnabled": {
                    "type": "boolean"
                },
                "DetailedMetricsEnabled": {
                    "type": "boolean"
                },
                "LoggingLevel": {
                    "type": "string"
                },
                "ThrottlingBurstLimit": {
                    "type": "number"
                },
                "ThrottlingRateLimit": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApiGatewayV2::VpcLink": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApiGatewayV2::VpcLink"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppConfig::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppConfig::Application.Tags"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppConfig::Application.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppConfig::ConfigurationProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "LocationUri": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RetrievalRoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags"
                            },
                            "type": "array"
                        },
                        "Validators": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "LocationUri",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::ConfigurationProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppConfig::ConfigurationProfile.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppConfig::ConfigurationProfile.Validators": {
            "additionalProperties": false,
            "properties": {
                "Content": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppConfig::Deployment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "ConfigurationProfileId": {
                            "type": "string"
                        },
                        "ConfigurationVersion": {
                            "type": "string"
                        },
                        "DeploymentStrategyId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EnvironmentId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "ConfigurationProfileId",
                        "ConfigurationVersion",
                        "DeploymentStrategyId",
                        "EnvironmentId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::Deployment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppConfig::Deployment.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppConfig::DeploymentStrategy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeploymentDurationInMinutes": {
                            "type": "number"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FinalBakeTimeInMinutes": {
                            "type": "number"
                        },
                        "GrowthFactor": {
                            "type": "number"
                        },
                        "GrowthType": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ReplicateTo": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DeploymentDurationInMinutes",
                        "GrowthFactor",
                        "Name",
                        "ReplicateTo"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::DeploymentStrategy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppConfig::DeploymentStrategy.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppConfig::Environment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Monitors": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppConfig::Environment.Tags"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::Environment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppConfig::Environment.Monitors": {
            "additionalProperties": false,
            "properties": {
                "AlarmArn": {
                    "type": "string"
                },
                "AlarmRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppConfig::Environment.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppConfig::HostedConfigurationVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "ConfigurationProfileId": {
                            "type": "string"
                        },
                        "Content": {
                            "type": "string"
                        },
                        "ContentType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "LatestVersionNumber": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "ConfigurationProfileId",
                        "Content",
                        "ContentType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::HostedConfigurationVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectionMode": {
                            "type": "string"
                        },
                        "ConnectorProfileConfig": {
                            "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig"
                        },
                        "ConnectorProfileName": {
                            "type": "string"
                        },
                        "ConnectorType": {
                            "type": "string"
                        },
                        "KMSArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConnectionMode",
                        "ConnectorProfileName",
                        "ConnectorType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppFlow::ConnectorProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "ApiKey": {
                    "type": "string"
                },
                "SecretKey": {
                    "type": "string"
                }
            },
            "required": [
                "ApiKey",
                "SecretKey"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": {
            "additionalProperties": false,
            "properties": {
                "AuthCode": {
                    "type": "string"
                },
                "RedirectUri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": {
            "additionalProperties": false,
            "properties": {
                "ConnectorProfileCredentials": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials"
                },
                "ConnectorProfileProperties": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties"
                }
            },
            "required": [
                "ConnectorProfileCredentials"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "Amplitude": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials"
                },
                "Datadog": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials"
                },
                "Dynatrace": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials"
                },
                "GoogleAnalytics": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials"
                },
                "InforNexus": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials"
                },
                "Marketo": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials"
                },
                "Redshift": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials"
                },
                "Salesforce": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials"
                },
                "ServiceNow": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials"
                },
                "Singular": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials"
                },
                "Slack": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials"
                },
                "Snowflake": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials"
                },
                "Trendmicro": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials"
                },
                "Veeva": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials"
                },
                "Zendesk": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "Datadog": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties"
                },
                "Dynatrace": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties"
                },
                "InforNexus": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties"
                },
                "Marketo": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties"
                },
                "Redshift": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties"
                },
                "Salesforce": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties"
                },
                "ServiceNow": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties"
                },
                "Slack": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties"
                },
                "Snowflake": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties"
                },
                "Veeva": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties"
                },
                "Zendesk": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "ApiKey": {
                    "type": "string"
                },
                "ApplicationKey": {
                    "type": "string"
                }
            },
            "required": [
                "ApiKey",
                "ApplicationKey"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "ApiToken": {
                    "type": "string"
                }
            },
            "required": [
                "ApiToken"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "required": [
                "ClientId",
                "ClientSecret"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessKeyId": {
                    "type": "string"
                },
                "Datakey": {
                    "type": "string"
                },
                "SecretAccessKey": {
                    "type": "string"
                },
                "UserId": {
                    "type": "string"
                }
            },
            "required": [
                "AccessKeyId",
                "Datakey",
                "SecretAccessKey",
                "UserId"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                }
            },
            "required": [
                "ClientId",
                "ClientSecret"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "DatabaseUrl": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName",
                "DatabaseUrl",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientCredentialsArn": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                },
                "isSandboxEnvironment": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "ApiKey": {
                    "type": "string"
                }
            },
            "required": [
                "ApiKey"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                }
            },
            "required": [
                "ClientId",
                "ClientSecret"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "AccountName": {
                    "type": "string"
                },
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "PrivateLinkServiceName": {
                    "type": "string"
                },
                "Region": {
                    "type": "string"
                },
                "Stage": {
                    "type": "string"
                },
                "Warehouse": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName",
                "Stage",
                "Warehouse"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "ApiSecretKey": {
                    "type": "string"
                }
            },
            "required": [
                "ApiSecretKey"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                }
            },
            "required": [
                "ClientId",
                "ClientSecret"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceUrl"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "DestinationFlowConfigList": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig"
                            },
                            "type": "array"
                        },
                        "FlowName": {
                            "type": "string"
                        },
                        "KMSArn": {
                            "type": "string"
                        },
                        "SourceFlowConfig": {
                            "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Tasks": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppFlow::Flow.Task"
                            },
                            "type": "array"
                        },
                        "TriggerConfig": {
                            "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig"
                        }
                    },
                    "required": [
                        "DestinationFlowConfigList",
                        "FlowName",
                        "SourceFlowConfig",
                        "Tasks",
                        "TriggerConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppFlow::Flow"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.AggregationConfig": {
            "additionalProperties": false,
            "properties": {
                "AggregationType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.AmplitudeSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.ConnectorOperator": {
            "additionalProperties": false,
            "properties": {
                "Amplitude": {
                    "type": "string"
                },
                "Datadog": {
                    "type": "string"
                },
                "Dynatrace": {
                    "type": "string"
                },
                "GoogleAnalytics": {
                    "type": "string"
                },
                "InforNexus": {
                    "type": "string"
                },
                "Marketo": {
                    "type": "string"
                },
                "S3": {
                    "type": "string"
                },
                "Salesforce": {
                    "type": "string"
                },
                "ServiceNow": {
                    "type": "string"
                },
                "Singular": {
                    "type": "string"
                },
                "Slack": {
                    "type": "string"
                },
                "Trendmicro": {
                    "type": "string"
                },
                "Veeva": {
                    "type": "string"
                },
                "Zendesk": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.DatadogSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.DestinationConnectorProperties": {
            "additionalProperties": false,
            "properties": {
                "EventBridge": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties"
                },
                "LookoutMetrics": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties"
                },
                "Redshift": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties"
                },
                "Salesforce": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties"
                },
                "Snowflake": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties"
                },
                "Upsolver": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties"
                },
                "Zendesk": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.DestinationFlowConfig": {
            "additionalProperties": false,
            "properties": {
                "ConnectorProfileName": {
                    "type": "string"
                },
                "ConnectorType": {
                    "type": "string"
                },
                "DestinationConnectorProperties": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties"
                }
            },
            "required": [
                "ConnectorType",
                "DestinationConnectorProperties"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.DynatraceSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.ErrorHandlingConfig": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "FailOnFirstError": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.EventBridgeDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.IncrementalPullConfig": {
            "additionalProperties": false,
            "properties": {
                "DatetimeTypeFieldName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.InforNexusSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.MarketoSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.PrefixConfig": {
            "additionalProperties": false,
            "properties": {
                "PrefixFormat": {
                    "type": "string"
                },
                "PrefixType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.RedshiftDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketPrefix": {
                    "type": "string"
                },
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "IntermediateBucketName": {
                    "type": "string"
                },
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "IntermediateBucketName",
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.S3DestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "S3OutputFormatConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig"
                }
            },
            "required": [
                "BucketName"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.S3OutputFormatConfig": {
            "additionalProperties": false,
            "properties": {
                "AggregationConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig"
                },
                "FileType": {
                    "type": "string"
                },
                "PrefixConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.S3SourceProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName",
                "BucketPrefix"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SalesforceDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "IdFieldNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Object": {
                    "type": "string"
                },
                "WriteOperationType": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SalesforceSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "EnableDynamicFieldUpdate": {
                    "type": "boolean"
                },
                "IncludeDeletedRecords": {
                    "type": "boolean"
                },
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.ScheduledTriggerProperties": {
            "additionalProperties": false,
            "properties": {
                "DataPullMode": {
                    "type": "string"
                },
                "ScheduleEndTime": {
                    "type": "number"
                },
                "ScheduleExpression": {
                    "type": "string"
                },
                "ScheduleStartTime": {
                    "type": "number"
                },
                "TimeZone": {
                    "type": "string"
                }
            },
            "required": [
                "ScheduleExpression"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.ServiceNowSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SingularSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SlackSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SnowflakeDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketPrefix": {
                    "type": "string"
                },
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "IntermediateBucketName": {
                    "type": "string"
                },
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "IntermediateBucketName",
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SourceConnectorProperties": {
            "additionalProperties": false,
            "properties": {
                "Amplitude": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties"
                },
                "Datadog": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties"
                },
                "Dynatrace": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties"
                },
                "GoogleAnalytics": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties"
                },
                "InforNexus": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties"
                },
                "Marketo": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties"
                },
                "Salesforce": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties"
                },
                "ServiceNow": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties"
                },
                "Singular": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties"
                },
                "Slack": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties"
                },
                "Trendmicro": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties"
                },
                "Veeva": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties"
                },
                "Zendesk": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.SourceFlowConfig": {
            "additionalProperties": false,
            "properties": {
                "ConnectorProfileName": {
                    "type": "string"
                },
                "ConnectorType": {
                    "type": "string"
                },
                "IncrementalPullConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig"
                },
                "SourceConnectorProperties": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties"
                }
            },
            "required": [
                "ConnectorType",
                "SourceConnectorProperties"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.Task": {
            "additionalProperties": false,
            "properties": {
                "ConnectorOperator": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator"
                },
                "DestinationField": {
                    "type": "string"
                },
                "SourceFields": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TaskProperties": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject"
                    },
                    "type": "array"
                },
                "TaskType": {
                    "type": "string"
                }
            },
            "required": [
                "SourceFields",
                "TaskType"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.TaskPropertiesObject": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.TrendmicroSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.TriggerConfig": {
            "additionalProperties": false,
            "properties": {
                "TriggerProperties": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties"
                },
                "TriggerType": {
                    "type": "string"
                }
            },
            "required": [
                "TriggerType"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.UpsolverDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "S3OutputFormatConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig"
                }
            },
            "required": [
                "BucketName",
                "S3OutputFormatConfig"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": {
            "additionalProperties": false,
            "properties": {
                "AggregationConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig"
                },
                "FileType": {
                    "type": "string"
                },
                "PrefixConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig"
                }
            },
            "required": [
                "PrefixConfig"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.VeevaSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.ZendeskDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "IdFieldNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Object": {
                    "type": "string"
                },
                "WriteOperationType": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.ZendeskSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppIntegrations::EventIntegration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "EventBridgeBus": {
                            "type": "string"
                        },
                        "EventFilter": {
                            "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "EventBridgeBus",
                        "EventFilter",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppIntegrations::EventIntegration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppIntegrations::EventIntegration.EventFilter": {
            "additionalProperties": false,
            "properties": {
                "Source": {
                    "type": "string"
                }
            },
            "required": [
                "Source"
            ],
            "type": "object"
        },
        "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": {
            "additionalProperties": false,
            "properties": {
                "ClientAssociationMetadata": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata"
                    },
                    "type": "array"
                },
                "ClientId": {
                    "type": "string"
                },
                "EventBridgeRuleName": {
                    "type": "string"
                },
                "EventIntegrationAssociationArn": {
                    "type": "string"
                },
                "EventIntegrationAssociationId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppIntegrations::EventIntegration.Metadata": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GatewayRouteName": {
                            "type": "string"
                        },
                        "MeshName": {
                            "type": "string"
                        },
                        "MeshOwner": {
                            "type": "string"
                        },
                        "Spec": {
                            "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VirtualGatewayName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MeshName",
                        "Spec",
                        "VirtualGatewayName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppMesh::GatewayRoute"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": {
            "additionalProperties": false,
            "properties": {
                "GrpcRoute": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute"
                },
                "Http2Route": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute"
                },
                "HttpRoute": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": {
            "additionalProperties": false,
            "properties": {
                "VirtualService": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService"
                }
            },
            "required": [
                "VirtualService"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": {
            "additionalProperties": false,
            "properties": {
                "VirtualServiceName": {
                    "type": "string"
                }
            },
            "required": [
                "VirtualServiceName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch"
                }
            },
            "required": [
                "Action",
                "Match"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": {
            "additionalProperties": false,
            "properties": {
                "Target": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget"
                }
            },
            "required": [
                "Target"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": {
            "additionalProperties": false,
            "properties": {
                "ServiceName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch"
                }
            },
            "required": [
                "Action",
                "Match"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": {
            "additionalProperties": false,
            "properties": {
                "Target": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget"
                }
            },
            "required": [
                "Target"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": {
            "additionalProperties": false,
            "properties": {
                "Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "Prefix"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Mesh": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MeshName": {
                            "type": "string"
                        },
                        "Spec": {
                            "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppMesh::Mesh"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Mesh.EgressFilter": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Mesh.MeshSpec": {
            "additionalProperties": false,
            "properties": {
                "EgressFilter": {
                    "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MeshName": {
                            "type": "string"
                        },
                        "MeshOwner": {
                            "type": "string"
                        },
                        "RouteName": {
                            "type": "string"
                        },
                        "Spec": {
                            "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VirtualRouterName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MeshName",
                        "Spec",
                        "VirtualRouterName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppMesh::Route"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.Duration": {
            "additionalProperties": false,
            "properties": {
                "Unit": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Unit",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.GrpcRetryPolicy": {
            "additionalProperties": false,
            "properties": {
                "GrpcRetryEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "HttpRetryEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MaxRetries": {
                    "type": "number"
                },
                "PerRetryTimeout": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.Duration"
                },
                "TcpRetryEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MaxRetries",
                "PerRetryTimeout"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.GrpcRoute": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch"
                },
                "RetryPolicy": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy"
                },
                "Timeout": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout"
                }
            },
            "required": [
                "Action",
                "Match"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.GrpcRouteAction": {
            "additionalProperties": false,
            "properties": {
                "WeightedTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget"
                    },
                    "type": "array"
                }
            },
            "required": [
                "WeightedTargets"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.GrpcRouteMatch": {
            "additionalProperties": false,
            "properties": {
                "Metadata": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata"
                    },
                    "type": "array"
                },
                "MethodName": {
                    "type": "string"
                },
                "ServiceName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.GrpcRouteMetadata": {
            "additionalProperties": false,
            "properties": {
                "Invert": {
                    "type": "boolean"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "Range": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange"
                },
                "Regex": {
                    "type": "string"
                },
                "Suffix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.GrpcTimeout": {
            "additionalProperties": false,
            "properties": {
                "Idle": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.Duration"
                },
                "PerRequest": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.Duration"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.HeaderMatchMethod": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "Range": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange"
                },
                "Regex": {
                    "type": "string"
                },
                "Suffix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.HttpRetryPolicy": {
            "additionalProperties": false,
            "properties": {
                "HttpRetryEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MaxRetries": {
                    "type": "number"
                },
                "PerRetryTimeout": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.Duration"
                },
                "TcpRetryEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MaxRetries",
                "PerRetryTimeout"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.HttpRoute": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpRouteAction"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpRouteMatch"
                },
                "RetryPolicy": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpRetryPolicy"
                },
                "Timeout": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpTimeout"
                }
            },
            "required": [
                "Action",
                "Match"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.HttpRouteAction": {
            "additionalProperties": false,
            "properties": {
                "WeightedTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget"
                    },
                    "type": "array"
                }
            },
            "required": [
                "WeightedTargets"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.HttpRouteHeader": {
            "additionalProperties": false,
            "properties": {
                "Invert": {
                    "type": "boolean"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HeaderMatchMethod"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.HttpRouteMatch": {
            "additionalProperties": false,
            "properties": {
                "Headers": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::Route.HttpRouteHeader"
                    },
                    "type": "array"
                },
                "Method": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "Scheme": {
                    "type": "string"
                }
            },
            "required": [
                "Prefix"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.HttpTimeout": {
            "additionalProperties": false,
            "properties": {
                "Idle": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.Duration"
                },
                "PerRequest": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.Duration"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.MatchRange": {
            "additionalProperties": false,
            "properties": {
                "End": {
                    "type": "number"
                },
                "Start": {
                    "type": "number"
                }
            },
            "required": [
                "End",
                "Start"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.RouteSpec": {
            "additionalProperties": false,
            "properties": {
                "GrpcRoute": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRoute"
                },
                "Http2Route": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpRoute"
                },
                "HttpRoute": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpRoute"
                },
                "Priority": {
                    "type": "number"
                },
                "TcpRoute": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.TcpRoute"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.TcpRoute": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.TcpRouteAction"
                },
                "Timeout": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout"
                }
            },
            "required": [
                "Action"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.TcpRouteAction": {
            "additionalProperties": false,
            "properties": {
                "WeightedTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget"
                    },
                    "type": "array"
                }
            },
            "required": [
                "WeightedTargets"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Route.TcpTimeout": {
            "additionalProperties": false,
            "properties": {
                "Idle": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.Duration"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.WeightedTarget": {
            "additionalProperties": false,
            "properties": {
                "VirtualNode": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "VirtualNode",
                "Weight"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MeshName": {
                            "type": "string"
                        },
                        "MeshOwner": {
                            "type": "string"
                        },
                        "Spec": {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VirtualGatewayName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MeshName",
                        "Spec"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppMesh::VirtualGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": {
            "additionalProperties": false,
            "properties": {
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers"
                }
            },
            "required": [
                "Match"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": {
            "additionalProperties": false,
            "properties": {
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": {
            "additionalProperties": false,
            "properties": {
                "ClientPolicy": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": {
            "additionalProperties": false,
            "properties": {
                "TLS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": {
            "additionalProperties": false,
            "properties": {
                "Certificate": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate"
                },
                "Enforce": {
                    "type": "boolean"
                },
                "Ports": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "Validation": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext"
                }
            },
            "required": [
                "Validation"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": {
            "additionalProperties": false,
            "properties": {
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "GRPC": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool"
                },
                "HTTP": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool"
                },
                "HTTP2": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": {
            "additionalProperties": false,
            "properties": {
                "Path": {
                    "type": "string"
                }
            },
            "required": [
                "Path"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "MaxRequests": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRequests"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": {
            "additionalProperties": false,
            "properties": {
                "HealthyThreshold": {
                    "type": "number"
                },
                "IntervalMillis": {
                    "type": "number"
                },
                "Path": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                },
                "TimeoutMillis": {
                    "type": "number"
                },
                "UnhealthyThreshold": {
                    "type": "number"
                }
            },
            "required": [
                "HealthyThreshold",
                "IntervalMillis",
                "Protocol",
                "TimeoutMillis",
                "UnhealthyThreshold"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "MaxRequests": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRequests"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "MaxConnections": {
                    "type": "number"
                },
                "MaxPendingRequests": {
                    "type": "number"
                }
            },
            "required": [
                "MaxConnections"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": {
            "additionalProperties": false,
            "properties": {
                "ConnectionPool": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool"
                },
                "HealthCheck": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy"
                },
                "PortMapping": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping"
                },
                "TLS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls"
                }
            },
            "required": [
                "PortMapping"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": {
            "additionalProperties": false,
            "properties": {
                "Certificate": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate"
                },
                "Mode": {
                    "type": "string"
                },
                "Validation": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext"
                }
            },
            "required": [
                "Certificate",
                "Mode"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateArn"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": {
            "additionalProperties": false,
            "properties": {
                "ACM": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate"
                },
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": {
            "additionalProperties": false,
            "properties": {
                "CertificateChain": {
                    "type": "string"
                },
                "PrivateKey": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateChain",
                "PrivateKey"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": {
            "additionalProperties": false,
            "properties": {
                "SecretName": {
                    "type": "string"
                }
            },
            "required": [
                "SecretName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": {
            "additionalProperties": false,
            "properties": {
                "SubjectAlternativeNames": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames"
                },
                "Trust": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust"
                }
            },
            "required": [
                "Trust"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": {
            "additionalProperties": false,
            "properties": {
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": {
            "additionalProperties": false,
            "properties": {
                "AccessLog": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": {
            "additionalProperties": false,
            "properties": {
                "Port": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                }
            },
            "required": [
                "Port",
                "Protocol"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": {
            "additionalProperties": false,
            "properties": {
                "BackendDefaults": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults"
                },
                "Listeners": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener"
                    },
                    "type": "array"
                },
                "Logging": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging"
                }
            },
            "required": [
                "Listeners"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": {
            "additionalProperties": false,
            "properties": {
                "SubjectAlternativeNames": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames"
                },
                "Trust": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust"
                }
            },
            "required": [
                "Trust"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": {
            "additionalProperties": false,
            "properties": {
                "CertificateAuthorityArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "CertificateAuthorityArns"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": {
            "additionalProperties": false,
            "properties": {
                "CertificateChain": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateChain"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": {
            "additionalProperties": false,
            "properties": {
                "SecretName": {
                    "type": "string"
                }
            },
            "required": [
                "SecretName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": {
            "additionalProperties": false,
            "properties": {
                "ACM": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust"
                },
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MeshName": {
                            "type": "string"
                        },
                        "MeshOwner": {
                            "type": "string"
                        },
                        "Spec": {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VirtualNodeName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MeshName",
                        "Spec"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppMesh::VirtualNode"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.AccessLog": {
            "additionalProperties": false,
            "properties": {
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute"
                    },
                    "type": "array"
                },
                "NamespaceName": {
                    "type": "string"
                },
                "ServiceName": {
                    "type": "string"
                }
            },
            "required": [
                "NamespaceName",
                "ServiceName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.Backend": {
            "additionalProperties": false,
            "properties": {
                "VirtualService": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.BackendDefaults": {
            "additionalProperties": false,
            "properties": {
                "ClientPolicy": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ClientPolicy": {
            "additionalProperties": false,
            "properties": {
                "TLS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ClientPolicyTls": {
            "additionalProperties": false,
            "properties": {
                "Certificate": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate"
                },
                "Enforce": {
                    "type": "boolean"
                },
                "Ports": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "Validation": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext"
                }
            },
            "required": [
                "Validation"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ClientTlsCertificate": {
            "additionalProperties": false,
            "properties": {
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": {
            "additionalProperties": false,
            "properties": {
                "Hostname": {
                    "type": "string"
                }
            },
            "required": [
                "Hostname"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.Duration": {
            "additionalProperties": false,
            "properties": {
                "Unit": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Unit",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.FileAccessLog": {
            "additionalProperties": false,
            "properties": {
                "Path": {
                    "type": "string"
                }
            },
            "required": [
                "Path"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.GrpcTimeout": {
            "additionalProperties": false,
            "properties": {
                "Idle": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration"
                },
                "PerRequest": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.HealthCheck": {
            "additionalProperties": false,
            "properties": {
                "HealthyThreshold": {
                    "type": "number"
                },
                "IntervalMillis": {
                    "type": "number"
                },
                "Path": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                },
                "TimeoutMillis": {
                    "type": "number"
                },
                "UnhealthyThreshold": {
                    "type": "number"
                }
            },
            "required": [
                "HealthyThreshold",
                "IntervalMillis",
                "Protocol",
                "TimeoutMillis",
                "UnhealthyThreshold"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.HttpTimeout": {
            "additionalProperties": false,
            "properties": {
                "Idle": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration"
                },
                "PerRequest": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.Listener": {
            "additionalProperties": false,
            "properties": {
                "ConnectionPool": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool"
                },
                "HealthCheck": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck"
                },
                "OutlierDetection": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection"
                },
                "PortMapping": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping"
                },
                "TLS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls"
                },
                "Timeout": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout"
                }
            },
            "required": [
                "PortMapping"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTimeout": {
            "additionalProperties": false,
            "properties": {
                "GRPC": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout"
                },
                "HTTP": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout"
                },
                "HTTP2": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout"
                },
                "TCP": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTls": {
            "additionalProperties": false,
            "properties": {
                "Certificate": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate"
                },
                "Mode": {
                    "type": "string"
                },
                "Validation": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext"
                }
            },
            "required": [
                "Certificate",
                "Mode"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateArn"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": {
            "additionalProperties": false,
            "properties": {
                "ACM": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate"
                },
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": {
            "additionalProperties": false,
            "properties": {
                "CertificateChain": {
                    "type": "string"
                },
                "PrivateKey": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateChain",
                "PrivateKey"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": {
            "additionalProperties": false,
            "properties": {
                "SecretName": {
                    "type": "string"
                }
            },
            "required": [
                "SecretName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": {
            "additionalProperties": false,
            "properties": {
                "SubjectAlternativeNames": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames"
                },
                "Trust": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust"
                }
            },
            "required": [
                "Trust"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": {
            "additionalProperties": false,
            "properties": {
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.Logging": {
            "additionalProperties": false,
            "properties": {
                "AccessLog": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.OutlierDetection": {
            "additionalProperties": false,
            "properties": {
                "BaseEjectionDuration": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration"
                },
                "Interval": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration"
                },
                "MaxEjectionPercent": {
                    "type": "number"
                },
                "MaxServerErrors": {
                    "type": "number"
                }
            },
            "required": [
                "BaseEjectionDuration",
                "Interval",
                "MaxEjectionPercent",
                "MaxServerErrors"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.PortMapping": {
            "additionalProperties": false,
            "properties": {
                "Port": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                }
            },
            "required": [
                "Port",
                "Protocol"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.ServiceDiscovery": {
            "additionalProperties": false,
            "properties": {
                "AWSCloudMap": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery"
                },
                "DNS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": {
            "additionalProperties": false,
            "properties": {
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers"
                }
            },
            "required": [
                "Match"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.TcpTimeout": {
            "additionalProperties": false,
            "properties": {
                "Idle": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.TlsValidationContext": {
            "additionalProperties": false,
            "properties": {
                "SubjectAlternativeNames": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames"
                },
                "Trust": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust"
                }
            },
            "required": [
                "Trust"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": {
            "additionalProperties": false,
            "properties": {
                "CertificateAuthorityArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "CertificateAuthorityArns"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": {
            "additionalProperties": false,
            "properties": {
                "CertificateChain": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateChain"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": {
            "additionalProperties": false,
            "properties": {
                "SecretName": {
                    "type": "string"
                }
            },
            "required": [
                "SecretName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": {
            "additionalProperties": false,
            "properties": {
                "ACM": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust"
                },
                "File": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust"
                },
                "SDS": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "GRPC": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool"
                },
                "HTTP": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool"
                },
                "HTTP2": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool"
                },
                "TCP": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "MaxRequests": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRequests"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "MaxRequests": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRequests"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "MaxConnections": {
                    "type": "number"
                },
                "MaxPendingRequests": {
                    "type": "number"
                }
            },
            "required": [
                "MaxConnections"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.VirtualNodeSpec": {
            "additionalProperties": false,
            "properties": {
                "BackendDefaults": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults"
                },
                "Backends": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend"
                    },
                    "type": "array"
                },
                "Listeners": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener"
                    },
                    "type": "array"
                },
                "Logging": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging"
                },
                "ServiceDiscovery": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": {
            "additionalProperties": false,
            "properties": {
                "MaxConnections": {
                    "type": "number"
                }
            },
            "required": [
                "MaxConnections"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualNode.VirtualServiceBackend": {
            "additionalProperties": false,
            "properties": {
                "ClientPolicy": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy"
                },
                "VirtualServiceName": {
                    "type": "string"
                }
            },
            "required": [
                "VirtualServiceName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualRouter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MeshName": {
                            "type": "string"
                        },
                        "MeshOwner": {
                            "type": "string"
                        },
                        "Spec": {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VirtualRouterName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MeshName",
                        "Spec"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppMesh::VirtualRouter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualRouter.PortMapping": {
            "additionalProperties": false,
            "properties": {
                "Port": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                }
            },
            "required": [
                "Port",
                "Protocol"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualRouter.VirtualRouterListener": {
            "additionalProperties": false,
            "properties": {
                "PortMapping": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping"
                }
            },
            "required": [
                "PortMapping"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": {
            "additionalProperties": false,
            "properties": {
                "Listeners": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Listeners"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualService": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MeshName": {
                            "type": "string"
                        },
                        "MeshOwner": {
                            "type": "string"
                        },
                        "Spec": {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VirtualServiceName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MeshName",
                        "Spec",
                        "VirtualServiceName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppMesh::VirtualService"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": {
            "additionalProperties": false,
            "properties": {
                "VirtualNodeName": {
                    "type": "string"
                }
            },
            "required": [
                "VirtualNodeName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": {
            "additionalProperties": false,
            "properties": {
                "VirtualRouterName": {
                    "type": "string"
                }
            },
            "required": [
                "VirtualRouterName"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualService.VirtualServiceProvider": {
            "additionalProperties": false,
            "properties": {
                "VirtualNode": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider"
                },
                "VirtualRouter": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::VirtualService.VirtualServiceSpec": {
            "additionalProperties": false,
            "properties": {
                "Provider": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider"
                }
            },
            "type": "object"
        },
        "AWS::AppRunner::Service": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingConfigurationArn": {
                            "type": "string"
                        },
                        "EncryptionConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration"
                        },
                        "HealthCheckConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration"
                        },
                        "InstanceConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration"
                        },
                        "ServiceName": {
                            "type": "string"
                        },
                        "SourceConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SourceConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppRunner::Service"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service.AuthenticationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AccessRoleArn": {
                    "type": "string"
                },
                "ConnectionArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppRunner::Service.CodeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CodeConfigurationValues": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues"
                },
                "ConfigurationSource": {
                    "type": "string"
                }
            },
            "required": [
                "ConfigurationSource"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service.CodeConfigurationValues": {
            "additionalProperties": false,
            "properties": {
                "BuildCommand": {
                    "type": "string"
                },
                "Port": {
                    "type": "string"
                },
                "Runtime": {
                    "type": "string"
                },
                "RuntimeEnvironmentVariables": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair"
                    },
                    "type": "array"
                },
                "StartCommand": {
                    "type": "string"
                }
            },
            "required": [
                "Runtime"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service.CodeRepository": {
            "additionalProperties": false,
            "properties": {
                "CodeConfiguration": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration"
                },
                "RepositoryUrl": {
                    "type": "string"
                },
                "SourceCodeVersion": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion"
                }
            },
            "required": [
                "RepositoryUrl",
                "SourceCodeVersion"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service.EncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KmsKey": {
                    "type": "string"
                }
            },
            "required": [
                "KmsKey"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service.HealthCheckConfiguration": {
            "additionalProperties": false,
            "properties": {
                "HealthyThreshold": {
                    "type": "number"
                },
                "Interval": {
                    "type": "number"
                },
                "Path": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "Timeout": {
                    "type": "number"
                },
                "UnhealthyThreshold": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AppRunner::Service.ImageConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Port": {
                    "type": "string"
                },
                "RuntimeEnvironmentVariables": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair"
                    },
                    "type": "array"
                },
                "StartCommand": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppRunner::Service.ImageRepository": {
            "additionalProperties": false,
            "properties": {
                "ImageConfiguration": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration"
                },
                "ImageIdentifier": {
                    "type": "string"
                },
                "ImageRepositoryType": {
                    "type": "string"
                }
            },
            "required": [
                "ImageIdentifier",
                "ImageRepositoryType"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service.InstanceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Cpu": {
                    "type": "string"
                },
                "InstanceRoleArn": {
                    "type": "string"
                },
                "Memory": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppRunner::Service.KeyValuePair": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppRunner::Service.SourceCodeVersion": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service.SourceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AuthenticationConfiguration": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration"
                },
                "AutoDeploymentsEnabled": {
                    "type": "boolean"
                },
                "CodeRepository": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository"
                },
                "ImageRepository": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository"
                }
            },
            "type": "object"
        },
        "AWS::AppStream::DirectoryConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DirectoryName": {
                            "type": "string"
                        },
                        "OrganizationalUnitDistinguishedNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ServiceAccountCredentials": {
                            "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials"
                        }
                    },
                    "required": [
                        "DirectoryName",
                        "OrganizationalUnitDistinguishedNames",
                        "ServiceAccountCredentials"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::DirectoryConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccountName": {
                    "type": "string"
                },
                "AccountPassword": {
                    "type": "string"
                }
            },
            "required": [
                "AccountName",
                "AccountPassword"
            ],
            "type": "object"
        },
        "AWS::AppStream::Fleet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ComputeCapacity": {
                            "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisconnectTimeoutInSeconds": {
                            "type": "number"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "DomainJoinInfo": {
                            "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo"
                        },
                        "EnableDefaultInternetAccess": {
                            "type": "boolean"
                        },
                        "FleetType": {
                            "type": "string"
                        },
                        "IamRoleArn": {
                            "type": "string"
                        },
                        "IdleDisconnectTimeoutInSeconds": {
                            "type": "number"
                        },
                        "ImageArn": {
                            "type": "string"
                        },
                        "ImageName": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "MaxUserDurationInSeconds": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "StreamView": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig"
                        }
                    },
                    "required": [
                        "ComputeCapacity",
                        "InstanceType",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::Fleet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::Fleet.ComputeCapacity": {
            "additionalProperties": false,
            "properties": {
                "DesiredInstances": {
                    "type": "number"
                }
            },
            "required": [
                "DesiredInstances"
            ],
            "type": "object"
        },
        "AWS::AppStream::Fleet.DomainJoinInfo": {
            "additionalProperties": false,
            "properties": {
                "DirectoryName": {
                    "type": "string"
                },
                "OrganizationalUnitDistinguishedName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppStream::Fleet.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AppStream::ImageBuilder": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessEndpoints": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint"
                            },
                            "type": "array"
                        },
                        "AppstreamAgentVersion": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "DomainJoinInfo": {
                            "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo"
                        },
                        "EnableDefaultInternetAccess": {
                            "type": "boolean"
                        },
                        "IamRoleArn": {
                            "type": "string"
                        },
                        "ImageArn": {
                            "type": "string"
                        },
                        "ImageName": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig"
                        }
                    },
                    "required": [
                        "InstanceType",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::ImageBuilder"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::ImageBuilder.AccessEndpoint": {
            "additionalProperties": false,
            "properties": {
                "EndpointType": {
                    "type": "string"
                },
                "VpceId": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointType",
                "VpceId"
            ],
            "type": "object"
        },
        "AWS::AppStream::ImageBuilder.DomainJoinInfo": {
            "additionalProperties": false,
            "properties": {
                "DirectoryName": {
                    "type": "string"
                },
                "OrganizationalUnitDistinguishedName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppStream::ImageBuilder.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AppStream::Stack": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessEndpoints": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint"
                            },
                            "type": "array"
                        },
                        "ApplicationSettings": {
                            "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings"
                        },
                        "AttributesToDelete": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "DeleteStorageConnectors": {
                            "type": "boolean"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "EmbedHostDomains": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "FeedbackURL": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RedirectURL": {
                            "type": "string"
                        },
                        "StorageConnectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserSettings": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::Stack"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppStream::Stack.AccessEndpoint": {
            "additionalProperties": false,
            "properties": {
                "EndpointType": {
                    "type": "string"
                },
                "VpceId": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointType",
                "VpceId"
            ],
            "type": "object"
        },
        "AWS::AppStream::Stack.ApplicationSettings": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "SettingsGroup": {
                    "type": "string"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::AppStream::Stack.StorageConnector": {
            "additionalProperties": false,
            "properties": {
                "ConnectorType": {
                    "type": "string"
                },
                "Domains": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ResourceIdentifier": {
                    "type": "string"
                }
            },
            "required": [
                "ConnectorType"
            ],
            "type": "object"
        },
        "AWS::AppStream::Stack.UserSetting": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "Permission": {
                    "type": "string"
                }
            },
            "required": [
                "Action",
                "Permission"
            ],
            "type": "object"
        },
        "AWS::AppStream::StackFleetAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FleetName": {
                            "type": "string"
                        },
                        "StackName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FleetName",
                        "StackName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::StackFleetAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::StackUserAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthenticationType": {
                            "type": "string"
                        },
                        "SendEmailNotification": {
                            "type": "boolean"
                        },
                        "StackName": {
                            "type": "string"
                        },
                        "UserName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AuthenticationType",
                        "StackName",
                        "UserName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::StackUserAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::User": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthenticationType": {
                            "type": "string"
                        },
                        "FirstName": {
                            "type": "string"
                        },
                        "LastName": {
                            "type": "string"
                        },
                        "MessageAction": {
                            "type": "string"
                        },
                        "UserName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AuthenticationType",
                        "UserName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::User"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::ApiCache": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiCachingBehavior": {
                            "type": "string"
                        },
                        "ApiId": {
                            "type": "string"
                        },
                        "AtRestEncryptionEnabled": {
                            "type": "boolean"
                        },
                        "TransitEncryptionEnabled": {
                            "type": "boolean"
                        },
                        "Ttl": {
                            "type": "number"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiCachingBehavior",
                        "ApiId",
                        "Ttl",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::ApiCache"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::ApiKey": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "ApiKeyId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Expires": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "ApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::ApiKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DynamoDBConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig"
                        },
                        "ElasticsearchConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig"
                        },
                        "HttpConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig"
                        },
                        "LambdaConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RelationalDatabaseConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig"
                        },
                        "ServiceRoleArn": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "Name",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::DataSource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.AuthorizationConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthorizationType": {
                    "type": "string"
                },
                "AwsIamConfig": {
                    "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig"
                }
            },
            "required": [
                "AuthorizationType"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.AwsIamConfig": {
            "additionalProperties": false,
            "properties": {
                "SigningRegion": {
                    "type": "string"
                },
                "SigningServiceName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::DataSource.DeltaSyncConfig": {
            "additionalProperties": false,
            "properties": {
                "BaseTableTTL": {
                    "type": "string"
                },
                "DeltaSyncTableName": {
                    "type": "string"
                },
                "DeltaSyncTableTTL": {
                    "type": "string"
                }
            },
            "required": [
                "BaseTableTTL",
                "DeltaSyncTableName",
                "DeltaSyncTableTTL"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.DynamoDBConfig": {
            "additionalProperties": false,
            "properties": {
                "AwsRegion": {
                    "type": "string"
                },
                "DeltaSyncConfig": {
                    "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig"
                },
                "TableName": {
                    "type": "string"
                },
                "UseCallerCredentials": {
                    "type": "boolean"
                },
                "Versioned": {
                    "type": "boolean"
                }
            },
            "required": [
                "AwsRegion",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.ElasticsearchConfig": {
            "additionalProperties": false,
            "properties": {
                "AwsRegion": {
                    "type": "string"
                },
                "Endpoint": {
                    "type": "string"
                }
            },
            "required": [
                "AwsRegion",
                "Endpoint"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.HttpConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthorizationConfig": {
                    "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig"
                },
                "Endpoint": {
                    "type": "string"
                }
            },
            "required": [
                "Endpoint"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.LambdaConfig": {
            "additionalProperties": false,
            "properties": {
                "LambdaFunctionArn": {
                    "type": "string"
                }
            },
            "required": [
                "LambdaFunctionArn"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.RdsHttpEndpointConfig": {
            "additionalProperties": false,
            "properties": {
                "AwsRegion": {
                    "type": "string"
                },
                "AwsSecretStoreArn": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "DbClusterIdentifier": {
                    "type": "string"
                },
                "Schema": {
                    "type": "string"
                }
            },
            "required": [
                "AwsRegion",
                "AwsSecretStoreArn",
                "DbClusterIdentifier"
            ],
            "type": "object"
        },
        "AWS::AppSync::DataSource.RelationalDatabaseConfig": {
            "additionalProperties": false,
            "properties": {
                "RdsHttpEndpointConfig": {
                    "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig"
                },
                "RelationalDatabaseSourceType": {
                    "type": "string"
                }
            },
            "required": [
                "RelationalDatabaseSourceType"
            ],
            "type": "object"
        },
        "AWS::AppSync::FunctionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "DataSourceName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FunctionVersion": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RequestMappingTemplate": {
                            "type": "string"
                        },
                        "RequestMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "ResponseMappingTemplate": {
                            "type": "string"
                        },
                        "ResponseMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "SyncConfig": {
                            "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig"
                        }
                    },
                    "required": [
                        "ApiId",
                        "DataSourceName",
                        "FunctionVersion",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::FunctionConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": {
            "additionalProperties": false,
            "properties": {
                "LambdaConflictHandlerArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::FunctionConfiguration.SyncConfig": {
            "additionalProperties": false,
            "properties": {
                "ConflictDetection": {
                    "type": "string"
                },
                "ConflictHandler": {
                    "type": "string"
                },
                "LambdaConflictHandlerConfig": {
                    "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig"
                }
            },
            "required": [
                "ConflictDetection"
            ],
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdditionalAuthenticationProviders": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders"
                        },
                        "AuthenticationType": {
                            "type": "string"
                        },
                        "LogConfig": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OpenIDConnectConfig": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig"
                        },
                        "Tags": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags"
                        },
                        "UserPoolConfig": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig"
                        },
                        "XrayEnabled": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "AuthenticationType",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::GraphQLApi"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": {
            "additionalProperties": false,
            "properties": {
                "AuthenticationType": {
                    "type": "string"
                },
                "OpenIDConnectConfig": {
                    "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig"
                },
                "UserPoolConfig": {
                    "$ref": "#/definitions/AWS::AppSync::GraphQLApi.CognitoUserPoolConfig"
                }
            },
            "required": [
                "AuthenticationType"
            ],
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": {
            "additionalProperties": false,
            "properties": {
                "AppIdClientRegex": {
                    "type": "string"
                },
                "AwsRegion": {
                    "type": "string"
                },
                "UserPoolId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.LogConfig": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogsRoleArn": {
                    "type": "string"
                },
                "ExcludeVerboseContent": {
                    "type": "boolean"
                },
                "FieldLogLevel": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.OpenIDConnectConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthTTL": {
                    "type": "number"
                },
                "ClientId": {
                    "type": "string"
                },
                "IatTTL": {
                    "type": "number"
                },
                "Issuer": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.Tags": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.UserPoolConfig": {
            "additionalProperties": false,
            "properties": {
                "AppIdClientRegex": {
                    "type": "string"
                },
                "AwsRegion": {
                    "type": "string"
                },
                "DefaultAction": {
                    "type": "string"
                },
                "UserPoolId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::GraphQLSchema": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "Definition": {
                            "type": "string"
                        },
                        "DefinitionS3Location": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::GraphQLSchema"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::Resolver": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiId": {
                            "type": "string"
                        },
                        "CachingConfig": {
                            "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig"
                        },
                        "DataSourceName": {
                            "type": "string"
                        },
                        "FieldName": {
                            "type": "string"
                        },
                        "Kind": {
                            "type": "string"
                        },
                        "PipelineConfig": {
                            "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig"
                        },
                        "RequestMappingTemplate": {
                            "type": "string"
                        },
                        "RequestMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "ResponseMappingTemplate": {
                            "type": "string"
                        },
                        "ResponseMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "SyncConfig": {
                            "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig"
                        },
                        "TypeName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "FieldName",
                        "TypeName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::Resolver"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::Resolver.CachingConfig": {
            "additionalProperties": false,
            "properties": {
                "CachingKeys": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Ttl": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": {
            "additionalProperties": false,
            "properties": {
                "LambdaConflictHandlerArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::Resolver.PipelineConfig": {
            "additionalProperties": false,
            "properties": {
                "Functions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::Resolver.SyncConfig": {
            "additionalProperties": false,
            "properties": {
                "ConflictDetection": {
                    "type": "string"
                },
                "ConflictHandler": {
                    "type": "string"
                },
                "LambdaConflictHandlerConfig": {
                    "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig"
                }
            },
            "required": [
                "ConflictDetection"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalableTarget": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MaxCapacity": {
                            "type": "number"
                        },
                        "MinCapacity": {
                            "type": "number"
                        },
                        "ResourceId": {
                            "type": "string"
                        },
                        "RoleARN": {
                            "type": "string"
                        },
                        "ScalableDimension": {
                            "type": "string"
                        },
                        "ScheduledActions": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction"
                            },
                            "type": "array"
                        },
                        "ServiceNamespace": {
                            "type": "string"
                        },
                        "SuspendedState": {
                            "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState"
                        }
                    },
                    "required": [
                        "MaxCapacity",
                        "MinCapacity",
                        "ResourceId",
                        "RoleARN",
                        "ScalableDimension",
                        "ServiceNamespace"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApplicationAutoScaling::ScalableTarget"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": {
            "additionalProperties": false,
            "properties": {
                "MaxCapacity": {
                    "type": "number"
                },
                "MinCapacity": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": {
            "additionalProperties": false,
            "properties": {
                "EndTime": {
                    "type": "string"
                },
                "ScalableTargetAction": {
                    "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction"
                },
                "Schedule": {
                    "type": "string"
                },
                "ScheduledActionName": {
                    "type": "string"
                },
                "StartTime": {
                    "type": "string"
                }
            },
            "required": [
                "Schedule",
                "ScheduledActionName"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState": {
            "additionalProperties": false,
            "properties": {
                "DynamicScalingInSuspended": {
                    "type": "boolean"
                },
                "DynamicScalingOutSuspended": {
                    "type": "boolean"
                },
                "ScheduledScalingSuspended": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalingPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PolicyName": {
                            "type": "string"
                        },
                        "PolicyType": {
                            "type": "string"
                        },
                        "ResourceId": {
                            "type": "string"
                        },
                        "ScalableDimension": {
                            "type": "string"
                        },
                        "ScalingTargetId": {
                            "type": "string"
                        },
                        "ServiceNamespace": {
                            "type": "string"
                        },
                        "StepScalingPolicyConfiguration": {
                            "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration"
                        },
                        "TargetTrackingScalingPolicyConfiguration": {
                            "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration"
                        }
                    },
                    "required": [
                        "PolicyName",
                        "PolicyType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApplicationAutoScaling::ScalingPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "Statistic": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "Namespace",
                "Statistic"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "PredefinedMetricType": {
                    "type": "string"
                },
                "ResourceLabel": {
                    "type": "string"
                }
            },
            "required": [
                "PredefinedMetricType"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": {
            "additionalProperties": false,
            "properties": {
                "MetricIntervalLowerBound": {
                    "type": "number"
                },
                "MetricIntervalUpperBound": {
                    "type": "number"
                },
                "ScalingAdjustment": {
                    "type": "number"
                }
            },
            "required": [
                "ScalingAdjustment"
            ],
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AdjustmentType": {
                    "type": "string"
                },
                "Cooldown": {
                    "type": "number"
                },
                "MetricAggregationType": {
                    "type": "string"
                },
                "MinAdjustmentMagnitude": {
                    "type": "number"
                },
                "StepAdjustments": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CustomizedMetricSpecification": {
                    "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification"
                },
                "DisableScaleIn": {
                    "type": "boolean"
                },
                "PredefinedMetricSpecification": {
                    "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification"
                },
                "ScaleInCooldown": {
                    "type": "number"
                },
                "ScaleOutCooldown": {
                    "type": "number"
                },
                "TargetValue": {
                    "type": "number"
                }
            },
            "required": [
                "TargetValue"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoConfigurationEnabled": {
                            "type": "boolean"
                        },
                        "CWEMonitorEnabled": {
                            "type": "boolean"
                        },
                        "ComponentMonitoringSettings": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting"
                            },
                            "type": "array"
                        },
                        "CustomComponents": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent"
                            },
                            "type": "array"
                        },
                        "LogPatternSets": {
                            "items": {
                                "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet"
                            },
                            "type": "array"
                        },
                        "OpsCenterEnabled": {
                            "type": "boolean"
                        },
                        "OpsItemSNSTopicArn": {
                            "type": "string"
                        },
                        "ResourceGroupName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ResourceGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ApplicationInsights::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.Alarm": {
            "additionalProperties": false,
            "properties": {
                "AlarmName": {
                    "type": "string"
                },
                "Severity": {
                    "type": "string"
                }
            },
            "required": [
                "AlarmName"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.AlarmMetric": {
            "additionalProperties": false,
            "properties": {
                "AlarmMetricName": {
                    "type": "string"
                }
            },
            "required": [
                "AlarmMetricName"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.ComponentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ConfigurationDetails": {
                    "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails"
                },
                "SubComponentTypeConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": {
            "additionalProperties": false,
            "properties": {
                "ComponentARN": {
                    "type": "string"
                },
                "ComponentConfigurationMode": {
                    "type": "string"
                },
                "ComponentName": {
                    "type": "string"
                },
                "CustomComponentConfiguration": {
                    "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration"
                },
                "DefaultOverwriteComponentConfiguration": {
                    "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration"
                },
                "Tier": {
                    "type": "string"
                }
            },
            "required": [
                "ComponentConfigurationMode",
                "Tier"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.ConfigurationDetails": {
            "additionalProperties": false,
            "properties": {
                "AlarmMetrics": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric"
                    },
                    "type": "array"
                },
                "Alarms": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm"
                    },
                    "type": "array"
                },
                "JMXPrometheusExporter": {
                    "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter"
                },
                "Logs": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log"
                    },
                    "type": "array"
                },
                "WindowsEvents": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.CustomComponent": {
            "additionalProperties": false,
            "properties": {
                "ComponentName": {
                    "type": "string"
                },
                "ResourceList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ComponentName",
                "ResourceList"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.JMXPrometheusExporter": {
            "additionalProperties": false,
            "properties": {
                "HostPort": {
                    "type": "string"
                },
                "JMXURL": {
                    "type": "string"
                },
                "PrometheusPort": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.Log": {
            "additionalProperties": false,
            "properties": {
                "Encoding": {
                    "type": "string"
                },
                "LogGroupName": {
                    "type": "string"
                },
                "LogPath": {
                    "type": "string"
                },
                "LogType": {
                    "type": "string"
                },
                "PatternSet": {
                    "type": "string"
                }
            },
            "required": [
                "LogType"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.LogPattern": {
            "additionalProperties": false,
            "properties": {
                "Pattern": {
                    "type": "string"
                },
                "PatternName": {
                    "type": "string"
                },
                "Rank": {
                    "type": "number"
                }
            },
            "required": [
                "Pattern",
                "PatternName",
                "Rank"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.LogPatternSet": {
            "additionalProperties": false,
            "properties": {
                "LogPatterns": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern"
                    },
                    "type": "array"
                },
                "PatternSetName": {
                    "type": "string"
                }
            },
            "required": [
                "LogPatterns",
                "PatternSetName"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": {
            "additionalProperties": false,
            "properties": {
                "AlarmMetrics": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric"
                    },
                    "type": "array"
                },
                "Logs": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log"
                    },
                    "type": "array"
                },
                "WindowsEvents": {
                    "items": {
                        "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "SubComponentConfigurationDetails": {
                    "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails"
                },
                "SubComponentType": {
                    "type": "string"
                }
            },
            "required": [
                "SubComponentConfigurationDetails",
                "SubComponentType"
            ],
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.WindowsEvent": {
            "additionalProperties": false,
            "properties": {
                "EventLevels": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "EventName": {
                    "type": "string"
                },
                "LogGroupName": {
                    "type": "string"
                },
                "PatternSet": {
                    "type": "string"
                }
            },
            "required": [
                "EventLevels",
                "EventName",
                "LogGroupName"
            ],
            "type": "object"
        },
        "AWS::Athena::DataCatalog": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Athena::DataCatalog"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Athena::NamedQuery": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Database": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "QueryString": {
                            "type": "string"
                        },
                        "WorkGroup": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Database",
                        "QueryString"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Athena::NamedQuery"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Athena::WorkGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RecursiveDeleteOption": {
                            "type": "boolean"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "WorkGroupConfiguration": {
                            "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration"
                        },
                        "WorkGroupConfigurationUpdates": {
                            "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Athena::WorkGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Athena::WorkGroup.EncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EncryptionOption": {
                    "type": "string"
                },
                "KmsKey": {
                    "type": "string"
                }
            },
            "required": [
                "EncryptionOption"
            ],
            "type": "object"
        },
        "AWS::Athena::WorkGroup.EngineVersion": {
            "additionalProperties": false,
            "properties": {
                "EffectiveEngineVersion": {
                    "type": "string"
                },
                "SelectedEngineVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Athena::WorkGroup.ResultConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration"
                },
                "OutputLocation": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Athena::WorkGroup.ResultConfigurationUpdates": {
            "additionalProperties": false,
            "properties": {
                "EncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration"
                },
                "OutputLocation": {
                    "type": "string"
                },
                "RemoveEncryptionConfiguration": {
                    "type": "boolean"
                },
                "RemoveOutputLocation": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Athena::WorkGroup.WorkGroupConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BytesScannedCutoffPerQuery": {
                    "type": "number"
                },
                "EnforceWorkGroupConfiguration": {
                    "type": "boolean"
                },
                "EngineVersion": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion"
                },
                "PublishCloudWatchMetricsEnabled": {
                    "type": "boolean"
                },
                "RequesterPaysEnabled": {
                    "type": "boolean"
                },
                "ResultConfiguration": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": {
            "additionalProperties": false,
            "properties": {
                "BytesScannedCutoffPerQuery": {
                    "type": "number"
                },
                "EnforceWorkGroupConfiguration": {
                    "type": "boolean"
                },
                "EngineVersion": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion"
                },
                "PublishCloudWatchMetricsEnabled": {
                    "type": "boolean"
                },
                "RemoveBytesScannedCutoffPerQuery": {
                    "type": "boolean"
                },
                "RequesterPaysEnabled": {
                    "type": "boolean"
                },
                "ResultConfigurationUpdates": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates"
                }
            },
            "type": "object"
        },
        "AWS::AuditManager::Assessment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssessmentReportsDestination": {
                            "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination"
                        },
                        "AwsAccount": {
                            "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FrameworkId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Roles": {
                            "items": {
                                "$ref": "#/definitions/AWS::AuditManager::Assessment.Role"
                            },
                            "type": "array"
                        },
                        "Scope": {
                            "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AuditManager::Assessment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AuditManager::Assessment.AWSAccount": {
            "additionalProperties": false,
            "properties": {
                "EmailAddress": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AuditManager::Assessment.AWSService": {
            "additionalProperties": false,
            "properties": {
                "ServiceName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AuditManager::Assessment.AssessmentReportsDestination": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                },
                "DestinationType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AuditManager::Assessment.Delegation": {
            "additionalProperties": false,
            "properties": {
                "AssessmentId": {
                    "type": "string"
                },
                "AssessmentName": {
                    "type": "string"
                },
                "Comment": {
                    "type": "string"
                },
                "ControlSetId": {
                    "type": "string"
                },
                "CreatedBy": {
                    "type": "string"
                },
                "CreationTime": {
                    "type": "number"
                },
                "Id": {
                    "type": "string"
                },
                "LastUpdated": {
                    "type": "number"
                },
                "RoleArn": {
                    "type": "string"
                },
                "RoleType": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AuditManager::Assessment.Role": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                },
                "RoleType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AuditManager::Assessment.Scope": {
            "additionalProperties": false,
            "properties": {
                "AwsAccounts": {
                    "items": {
                        "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount"
                    },
                    "type": "array"
                },
                "AwsServices": {
                    "items": {
                        "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup": {
            "additionalProperties": false,
            "properties": {
                "CreationPolicy": {
                    "type": "object"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingGroupName": {
                            "type": "string"
                        },
                        "AvailabilityZones": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "CapacityRebalance": {
                            "type": "boolean"
                        },
                        "Cooldown": {
                            "type": "string"
                        },
                        "DesiredCapacity": {
                            "type": "string"
                        },
                        "HealthCheckGracePeriod": {
                            "type": "number"
                        },
                        "HealthCheckType": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "LaunchConfigurationName": {
                            "type": "string"
                        },
                        "LaunchTemplate": {
                            "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification"
                        },
                        "LifecycleHookSpecificationList": {
                            "items": {
                                "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification"
                            },
                            "type": "array"
                        },
                        "LoadBalancerNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MaxInstanceLifetime": {
                            "type": "number"
                        },
                        "MaxSize": {
                            "type": "string"
                        },
                        "MetricsCollection": {
                            "items": {
                                "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection"
                            },
                            "type": "array"
                        },
                        "MinSize": {
                            "type": "string"
                        },
                        "MixedInstancesPolicy": {
                            "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy"
                        },
                        "NewInstancesProtectedFromScaleIn": {
                            "type": "boolean"
                        },
                        "NotificationConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration"
                            },
                            "type": "array"
                        },
                        "PlacementGroup": {
                            "type": "string"
                        },
                        "ServiceLinkedRoleARN": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty"
                            },
                            "type": "array"
                        },
                        "TargetGroupARNs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "TerminationPolicies": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VPCZoneIdentifier": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "MaxSize",
                        "MinSize"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AutoScaling::AutoScalingGroup"
                    ],
                    "type": "string"
                },
                "UpdatePolicy": {
                    "type": "object"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": {
            "additionalProperties": false,
            "properties": {
                "OnDemandAllocationStrategy": {
                    "type": "string"
                },
                "OnDemandBaseCapacity": {
                    "type": "number"
                },
                "OnDemandPercentageAboveBaseCapacity": {
                    "type": "number"
                },
                "SpotAllocationStrategy": {
                    "type": "string"
                },
                "SpotInstancePools": {
                    "type": "number"
                },
                "SpotMaxPrice": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification"
                },
                "Overrides": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides"
                    },
                    "type": "array"
                }
            },
            "required": [
                "LaunchTemplateSpecification"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": {
            "additionalProperties": false,
            "properties": {
                "InstanceType": {
                    "type": "string"
                },
                "LaunchTemplateSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification"
                },
                "WeightedCapacity": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateId": {
                    "type": "string"
                },
                "LaunchTemplateName": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Version"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": {
            "additionalProperties": false,
            "properties": {
                "DefaultResult": {
                    "type": "string"
                },
                "HeartbeatTimeout": {
                    "type": "number"
                },
                "LifecycleHookName": {
                    "type": "string"
                },
                "LifecycleTransition": {
                    "type": "string"
                },
                "NotificationMetadata": {
                    "type": "string"
                },
                "NotificationTargetARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "LifecycleHookName",
                "LifecycleTransition"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": {
            "additionalProperties": false,
            "properties": {
                "Granularity": {
                    "type": "string"
                },
                "Metrics": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Granularity"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": {
            "additionalProperties": false,
            "properties": {
                "InstancesDistribution": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution"
                },
                "LaunchTemplate": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate"
                }
            },
            "required": [
                "LaunchTemplate"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "NotificationTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TopicARN": {
                    "type": "string"
                }
            },
            "required": [
                "TopicARN"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.TagProperty": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "PropagateAtLaunch": {
                    "type": "boolean"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "PropagateAtLaunch",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::LaunchConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssociatePublicIpAddress": {
                            "type": "boolean"
                        },
                        "BlockDeviceMappings": {
                            "items": {
                                "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping"
                            },
                            "type": "array"
                        },
                        "ClassicLinkVPCId": {
                            "type": "string"
                        },
                        "ClassicLinkVPCSecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "EbsOptimized": {
                            "type": "boolean"
                        },
                        "IamInstanceProfile": {
                            "type": "string"
                        },
                        "ImageId": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "InstanceMonitoring": {
                            "type": "boolean"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "KernelId": {
                            "type": "string"
                        },
                        "KeyName": {
                            "type": "string"
                        },
                        "LaunchConfigurationName": {
                            "type": "string"
                        },
                        "MetadataOptions": {
                            "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions"
                        },
                        "PlacementTenancy": {
                            "type": "string"
                        },
                        "RamDiskId": {
                            "type": "string"
                        },
                        "SecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SpotPrice": {
                            "type": "string"
                        },
                        "UserData": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ImageId",
                        "InstanceType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AutoScaling::LaunchConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::LaunchConfiguration.BlockDevice": {
            "additionalProperties": false,
            "properties": {
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "SnapshotId": {
                    "type": "string"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "Ebs": {
                    "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDevice"
                },
                "NoDevice": {
                    "type": "boolean"
                },
                "VirtualName": {
                    "type": "string"
                }
            },
            "required": [
                "DeviceName"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::LaunchConfiguration.MetadataOptions": {
            "additionalProperties": false,
            "properties": {
                "HttpEndpoint": {
                    "type": "string"
                },
                "HttpPutResponseHopLimit": {
                    "type": "number"
                },
                "HttpTokens": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::LifecycleHook": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingGroupName": {
                            "type": "string"
                        },
                        "DefaultResult": {
                            "type": "string"
                        },
                        "HeartbeatTimeout": {
                            "type": "number"
                        },
                        "LifecycleHookName": {
                            "type": "string"
                        },
                        "LifecycleTransition": {
                            "type": "string"
                        },
                        "NotificationMetadata": {
                            "type": "string"
                        },
                        "NotificationTargetARN": {
                            "type": "string"
                        },
                        "RoleARN": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AutoScalingGroupName",
                        "LifecycleTransition"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AutoScaling::LifecycleHook"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdjustmentType": {
                            "type": "string"
                        },
                        "AutoScalingGroupName": {
                            "type": "string"
                        },
                        "Cooldown": {
                            "type": "string"
                        },
                        "EstimatedInstanceWarmup": {
                            "type": "number"
                        },
                        "MetricAggregationType": {
                            "type": "string"
                        },
                        "MinAdjustmentMagnitude": {
                            "type": "number"
                        },
                        "PolicyType": {
                            "type": "string"
                        },
                        "ScalingAdjustment": {
                            "type": "number"
                        },
                        "StepAdjustments": {
                            "items": {
                                "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment"
                            },
                            "type": "array"
                        },
                        "TargetTrackingConfiguration": {
                            "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration"
                        }
                    },
                    "required": [
                        "AutoScalingGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AutoScaling::ScalingPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "Statistic": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "Namespace",
                "Statistic"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "PredefinedMetricType": {
                    "type": "string"
                },
                "ResourceLabel": {
                    "type": "string"
                }
            },
            "required": [
                "PredefinedMetricType"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.StepAdjustment": {
            "additionalProperties": false,
            "properties": {
                "MetricIntervalLowerBound": {
                    "type": "number"
                },
                "MetricIntervalUpperBound": {
                    "type": "number"
                },
                "ScalingAdjustment": {
                    "type": "number"
                }
            },
            "required": [
                "ScalingAdjustment"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CustomizedMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification"
                },
                "DisableScaleIn": {
                    "type": "boolean"
                },
                "PredefinedMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification"
                },
                "TargetValue": {
                    "type": "number"
                }
            },
            "required": [
                "TargetValue"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScheduledAction": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingGroupName": {
                            "type": "string"
                        },
                        "DesiredCapacity": {
                            "type": "number"
                        },
                        "EndTime": {
                            "type": "string"
                        },
                        "MaxSize": {
                            "type": "number"
                        },
                        "MinSize": {
                            "type": "number"
                        },
                        "Recurrence": {
                            "type": "string"
                        },
                        "StartTime": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AutoScalingGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AutoScaling::ScheduledAction"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::WarmPool": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingGroupName": {
                            "type": "string"
                        },
                        "MaxGroupPreparedCapacity": {
                            "type": "number"
                        },
                        "MinSize": {
                            "type": "number"
                        },
                        "PoolState": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AutoScalingGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AutoScaling::WarmPool"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationSource": {
                            "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource"
                        },
                        "ScalingInstructions": {
                            "items": {
                                "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ApplicationSource",
                        "ScalingInstructions"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AutoScalingPlans::ScalingPlan"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": {
            "additionalProperties": false,
            "properties": {
                "CloudFormationStackARN": {
                    "type": "string"
                },
                "TagFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "Statistic": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "Namespace",
                "Statistic"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "Statistic": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "Namespace",
                "Statistic"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "PredefinedLoadMetricType": {
                    "type": "string"
                },
                "ResourceLabel": {
                    "type": "string"
                }
            },
            "required": [
                "PredefinedLoadMetricType"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "PredefinedScalingMetricType": {
                    "type": "string"
                },
                "ResourceLabel": {
                    "type": "string"
                }
            },
            "required": [
                "PredefinedScalingMetricType"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": {
            "additionalProperties": false,
            "properties": {
                "CustomizedLoadMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification"
                },
                "DisableDynamicScaling": {
                    "type": "boolean"
                },
                "MaxCapacity": {
                    "type": "number"
                },
                "MinCapacity": {
                    "type": "number"
                },
                "PredefinedLoadMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification"
                },
                "PredictiveScalingMaxCapacityBehavior": {
                    "type": "string"
                },
                "PredictiveScalingMaxCapacityBuffer": {
                    "type": "number"
                },
                "PredictiveScalingMode": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                },
                "ScalableDimension": {
                    "type": "string"
                },
                "ScalingPolicyUpdateBehavior": {
                    "type": "string"
                },
                "ScheduledActionBufferTime": {
                    "type": "number"
                },
                "ServiceNamespace": {
                    "type": "string"
                },
                "TargetTrackingConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MaxCapacity",
                "MinCapacity",
                "ResourceId",
                "ScalableDimension",
                "ServiceNamespace",
                "TargetTrackingConfigurations"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.TagFilter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Key"
            ],
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CustomizedScalingMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification"
                },
                "DisableScaleIn": {
                    "type": "boolean"
                },
                "EstimatedInstanceWarmup": {
                    "type": "number"
                },
                "PredefinedScalingMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification"
                },
                "ScaleInCooldown": {
                    "type": "number"
                },
                "ScaleOutCooldown": {
                    "type": "number"
                },
                "TargetValue": {
                    "type": "number"
                }
            },
            "required": [
                "TargetValue"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupPlan": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BackupPlan": {
                            "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType"
                        },
                        "BackupPlanTags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "BackupPlan"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Backup::BackupPlan"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": {
            "additionalProperties": false,
            "properties": {
                "BackupOptions": {
                    "type": "object"
                },
                "ResourceType": {
                    "type": "string"
                }
            },
            "required": [
                "BackupOptions",
                "ResourceType"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupPlan.BackupPlanResourceType": {
            "additionalProperties": false,
            "properties": {
                "AdvancedBackupSettings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType"
                    },
                    "type": "array"
                },
                "BackupPlanName": {
                    "type": "string"
                },
                "BackupPlanRule": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType"
                    },
                    "type": "array"
                }
            },
            "required": [
                "BackupPlanName",
                "BackupPlanRule"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupPlan.BackupRuleResourceType": {
            "additionalProperties": false,
            "properties": {
                "CompletionWindowMinutes": {
                    "type": "number"
                },
                "CopyActions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType"
                    },
                    "type": "array"
                },
                "EnableContinuousBackup": {
                    "type": "boolean"
                },
                "Lifecycle": {
                    "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType"
                },
                "RecoveryPointTags": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "RuleName": {
                    "type": "string"
                },
                "ScheduleExpression": {
                    "type": "string"
                },
                "StartWindowMinutes": {
                    "type": "number"
                },
                "TargetBackupVault": {
                    "type": "string"
                }
            },
            "required": [
                "RuleName",
                "TargetBackupVault"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupPlan.CopyActionResourceType": {
            "additionalProperties": false,
            "properties": {
                "DestinationBackupVaultArn": {
                    "type": "string"
                },
                "Lifecycle": {
                    "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType"
                }
            },
            "required": [
                "DestinationBackupVaultArn"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupPlan.LifecycleResourceType": {
            "additionalProperties": false,
            "properties": {
                "DeleteAfterDays": {
                    "type": "number"
                },
                "MoveToColdStorageAfterDays": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Backup::BackupSelection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BackupPlanId": {
                            "type": "string"
                        },
                        "BackupSelection": {
                            "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType"
                        }
                    },
                    "required": [
                        "BackupPlanId",
                        "BackupSelection"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Backup::BackupSelection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupSelection.BackupSelectionResourceType": {
            "additionalProperties": false,
            "properties": {
                "IamRoleArn": {
                    "type": "string"
                },
                "ListOfTags": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType"
                    },
                    "type": "array"
                },
                "Resources": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SelectionName": {
                    "type": "string"
                }
            },
            "required": [
                "IamRoleArn",
                "SelectionName"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupSelection.ConditionResourceType": {
            "additionalProperties": false,
            "properties": {
                "ConditionKey": {
                    "type": "string"
                },
                "ConditionType": {
                    "type": "string"
                },
                "ConditionValue": {
                    "type": "string"
                }
            },
            "required": [
                "ConditionKey",
                "ConditionType",
                "ConditionValue"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupVault": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessPolicy": {
                            "type": "object"
                        },
                        "BackupVaultName": {
                            "type": "string"
                        },
                        "BackupVaultTags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "EncryptionKeyArn": {
                            "type": "string"
                        },
                        "Notifications": {
                            "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType"
                        }
                    },
                    "required": [
                        "BackupVaultName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Backup::BackupVault"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupVault.NotificationObjectType": {
            "additionalProperties": false,
            "properties": {
                "BackupVaultEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SNSTopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "BackupVaultEvents",
                "SNSTopicArn"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ComputeEnvironmentName": {
                            "type": "string"
                        },
                        "ComputeResources": {
                            "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources"
                        },
                        "ServiceRole": {
                            "type": "string"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Batch::ComputeEnvironment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment.ComputeResources": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                },
                "BidPercentage": {
                    "type": "number"
                },
                "DesiredvCpus": {
                    "type": "number"
                },
                "Ec2Configuration": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject"
                    },
                    "type": "array"
                },
                "Ec2KeyPair": {
                    "type": "string"
                },
                "ImageId": {
                    "type": "string"
                },
                "InstanceRole": {
                    "type": "string"
                },
                "InstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "LaunchTemplate": {
                    "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification"
                },
                "MaxvCpus": {
                    "type": "number"
                },
                "MinvCpus": {
                    "type": "number"
                },
                "PlacementGroup": {
                    "type": "string"
                },
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SpotIamFleetRole": {
                    "type": "string"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Tags": {
                    "type": "object"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "MaxvCpus",
                "Subnets",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": {
            "additionalProperties": false,
            "properties": {
                "ImageIdOverride": {
                    "type": "string"
                },
                "ImageType": {
                    "type": "string"
                }
            },
            "required": [
                "ImageType"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateId": {
                    "type": "string"
                },
                "LaunchTemplateName": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContainerProperties": {
                            "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties"
                        },
                        "JobDefinitionName": {
                            "type": "string"
                        },
                        "NodeProperties": {
                            "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties"
                        },
                        "Parameters": {
                            "type": "object"
                        },
                        "PlatformCapabilities": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PropagateTags": {
                            "type": "boolean"
                        },
                        "RetryStrategy": {
                            "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Timeout": {
                            "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Batch::JobDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.AuthorizationConfig": {
            "additionalProperties": false,
            "properties": {
                "AccessPointId": {
                    "type": "string"
                },
                "Iam": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.ContainerProperties": {
            "additionalProperties": false,
            "properties": {
                "Command": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Environment": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment"
                    },
                    "type": "array"
                },
                "ExecutionRoleArn": {
                    "type": "string"
                },
                "FargatePlatformConfiguration": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration"
                },
                "Image": {
                    "type": "string"
                },
                "InstanceType": {
                    "type": "string"
                },
                "JobRoleArn": {
                    "type": "string"
                },
                "LinuxParameters": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters"
                },
                "LogConfiguration": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration"
                },
                "Memory": {
                    "type": "number"
                },
                "MountPoints": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints"
                    },
                    "type": "array"
                },
                "NetworkConfiguration": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration"
                },
                "Privileged": {
                    "type": "boolean"
                },
                "ReadonlyRootFilesystem": {
                    "type": "boolean"
                },
                "ResourceRequirements": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement"
                    },
                    "type": "array"
                },
                "Secrets": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret"
                    },
                    "type": "array"
                },
                "Ulimits": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit"
                    },
                    "type": "array"
                },
                "User": {
                    "type": "string"
                },
                "Vcpus": {
                    "type": "number"
                },
                "Volumes": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Image"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Device": {
            "additionalProperties": false,
            "properties": {
                "ContainerPath": {
                    "type": "string"
                },
                "HostPath": {
                    "type": "string"
                },
                "Permissions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EfsVolumeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AuthorizationConfig": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig"
                },
                "FileSystemId": {
                    "type": "string"
                },
                "RootDirectory": {
                    "type": "string"
                },
                "TransitEncryption": {
                    "type": "string"
                },
                "TransitEncryptionPort": {
                    "type": "number"
                }
            },
            "required": [
                "FileSystemId"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Environment": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EvaluateOnExit": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "OnExitCode": {
                    "type": "string"
                },
                "OnReason": {
                    "type": "string"
                },
                "OnStatusReason": {
                    "type": "string"
                }
            },
            "required": [
                "Action"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.FargatePlatformConfiguration": {
            "additionalProperties": false,
            "properties": {
                "PlatformVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.LinuxParameters": {
            "additionalProperties": false,
            "properties": {
                "Devices": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.Device"
                    },
                    "type": "array"
                },
                "InitProcessEnabled": {
                    "type": "boolean"
                },
                "MaxSwap": {
                    "type": "number"
                },
                "SharedMemorySize": {
                    "type": "number"
                },
                "Swappiness": {
                    "type": "number"
                },
                "Tmpfs": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.LogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LogDriver": {
                    "type": "string"
                },
                "Options": {
                    "type": "object"
                },
                "SecretOptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret"
                    },
                    "type": "array"
                }
            },
            "required": [
                "LogDriver"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.MountPoints": {
            "additionalProperties": false,
            "properties": {
                "ContainerPath": {
                    "type": "string"
                },
                "ReadOnly": {
                    "type": "boolean"
                },
                "SourceVolume": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.NetworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AssignPublicIp": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.NodeProperties": {
            "additionalProperties": false,
            "properties": {
                "MainNode": {
                    "type": "number"
                },
                "NodeRangeProperties": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty"
                    },
                    "type": "array"
                },
                "NumNodes": {
                    "type": "number"
                }
            },
            "required": [
                "MainNode",
                "NodeRangeProperties",
                "NumNodes"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.NodeRangeProperty": {
            "additionalProperties": false,
            "properties": {
                "Container": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties"
                },
                "TargetNodes": {
                    "type": "string"
                }
            },
            "required": [
                "TargetNodes"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.ResourceRequirement": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.RetryStrategy": {
            "additionalProperties": false,
            "properties": {
                "Attempts": {
                    "type": "number"
                },
                "EvaluateOnExit": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Secret": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "ValueFrom": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "ValueFrom"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Timeout": {
            "additionalProperties": false,
            "properties": {
                "AttemptDurationSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Tmpfs": {
            "additionalProperties": false,
            "properties": {
                "ContainerPath": {
                    "type": "string"
                },
                "MountOptions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Size": {
                    "type": "number"
                }
            },
            "required": [
                "ContainerPath",
                "Size"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Ulimit": {
            "additionalProperties": false,
            "properties": {
                "HardLimit": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "SoftLimit": {
                    "type": "number"
                }
            },
            "required": [
                "HardLimit",
                "Name",
                "SoftLimit"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Volumes": {
            "additionalProperties": false,
            "properties": {
                "EfsVolumeConfiguration": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration"
                },
                "Host": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.VolumesHost": {
            "additionalProperties": false,
            "properties": {
                "SourcePath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobQueue": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ComputeEnvironmentOrder": {
                            "items": {
                                "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder"
                            },
                            "type": "array"
                        },
                        "JobQueueName": {
                            "type": "string"
                        },
                        "Priority": {
                            "type": "number"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "ComputeEnvironmentOrder",
                        "Priority"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Batch::JobQueue"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Batch::JobQueue.ComputeEnvironmentOrder": {
            "additionalProperties": false,
            "properties": {
                "ComputeEnvironment": {
                    "type": "string"
                },
                "Order": {
                    "type": "number"
                }
            },
            "required": [
                "ComputeEnvironment",
                "Order"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Budget": {
                            "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData"
                        },
                        "NotificationsWithSubscribers": {
                            "items": {
                                "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Budget"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Budgets::Budget"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget.BudgetData": {
            "additionalProperties": false,
            "properties": {
                "BudgetLimit": {
                    "$ref": "#/definitions/AWS::Budgets::Budget.Spend"
                },
                "BudgetName": {
                    "type": "string"
                },
                "BudgetType": {
                    "type": "string"
                },
                "CostFilters": {
                    "type": "object"
                },
                "CostTypes": {
                    "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes"
                },
                "PlannedBudgetLimits": {
                    "type": "object"
                },
                "TimePeriod": {
                    "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod"
                },
                "TimeUnit": {
                    "type": "string"
                }
            },
            "required": [
                "BudgetType",
                "TimeUnit"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget.CostTypes": {
            "additionalProperties": false,
            "properties": {
                "IncludeCredit": {
                    "type": "boolean"
                },
                "IncludeDiscount": {
                    "type": "boolean"
                },
                "IncludeOtherSubscription": {
                    "type": "boolean"
                },
                "IncludeRecurring": {
                    "type": "boolean"
                },
                "IncludeRefund": {
                    "type": "boolean"
                },
                "IncludeSubscription": {
                    "type": "boolean"
                },
                "IncludeSupport": {
                    "type": "boolean"
                },
                "IncludeTax": {
                    "type": "boolean"
                },
                "IncludeUpfront": {
                    "type": "boolean"
                },
                "UseAmortized": {
                    "type": "boolean"
                },
                "UseBlended": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Budgets::Budget.Notification": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "NotificationType": {
                    "type": "string"
                },
                "Threshold": {
                    "type": "number"
                },
                "ThresholdType": {
                    "type": "string"
                }
            },
            "required": [
                "ComparisonOperator",
                "NotificationType",
                "Threshold"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget.NotificationWithSubscribers": {
            "additionalProperties": false,
            "properties": {
                "Notification": {
                    "$ref": "#/definitions/AWS::Budgets::Budget.Notification"
                },
                "Subscribers": {
                    "items": {
                        "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Notification",
                "Subscribers"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget.Spend": {
            "additionalProperties": false,
            "properties": {
                "Amount": {
                    "type": "number"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "Amount",
                "Unit"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget.Subscriber": {
            "additionalProperties": false,
            "properties": {
                "Address": {
                    "type": "string"
                },
                "SubscriptionType": {
                    "type": "string"
                }
            },
            "required": [
                "Address",
                "SubscriptionType"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget.TimePeriod": {
            "additionalProperties": false,
            "properties": {
                "End": {
                    "type": "string"
                },
                "Start": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Budgets::BudgetsAction": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ActionThreshold": {
                            "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold"
                        },
                        "ActionType": {
                            "type": "string"
                        },
                        "ApprovalModel": {
                            "type": "string"
                        },
                        "BudgetName": {
                            "type": "string"
                        },
                        "Definition": {
                            "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition"
                        },
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "NotificationType": {
                            "type": "string"
                        },
                        "Subscribers": {
                            "items": {
                                "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ActionThreshold",
                        "ActionType",
                        "BudgetName",
                        "Definition",
                        "ExecutionRoleArn",
                        "NotificationType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Budgets::BudgetsAction"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Budgets::BudgetsAction.ActionThreshold": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Budgets::BudgetsAction.Definition": {
            "additionalProperties": false,
            "properties": {
                "IamActionDefinition": {
                    "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition"
                },
                "ScpActionDefinition": {
                    "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition"
                },
                "SsmActionDefinition": {
                    "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition"
                }
            },
            "type": "object"
        },
        "AWS::Budgets::BudgetsAction.IamActionDefinition": {
            "additionalProperties": false,
            "properties": {
                "Groups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "PolicyArn": {
                    "type": "string"
                },
                "Roles": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Users": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "PolicyArn"
            ],
            "type": "object"
        },
        "AWS::Budgets::BudgetsAction.ScpActionDefinition": {
            "additionalProperties": false,
            "properties": {
                "PolicyId": {
                    "type": "string"
                },
                "TargetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "PolicyId",
                "TargetIds"
            ],
            "type": "object"
        },
        "AWS::Budgets::BudgetsAction.SsmActionDefinition": {
            "additionalProperties": false,
            "properties": {
                "InstanceIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Region": {
                    "type": "string"
                },
                "Subtype": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceIds",
                "Region",
                "Subtype"
            ],
            "type": "object"
        },
        "AWS::Budgets::BudgetsAction.Subscriber": {
            "additionalProperties": false,
            "properties": {
                "Address": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Address",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CE::AnomalyMonitor": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MonitorDimension": {
                            "type": "string"
                        },
                        "MonitorName": {
                            "type": "string"
                        },
                        "MonitorSpecification": {
                            "type": "string"
                        },
                        "MonitorType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MonitorName",
                        "MonitorType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CE::AnomalyMonitor"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CE::AnomalySubscription": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Frequency": {
                            "type": "string"
                        },
                        "MonitorArnList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Subscribers": {
                            "items": {
                                "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber"
                            },
                            "type": "array"
                        },
                        "SubscriptionName": {
                            "type": "string"
                        },
                        "Threshold": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Frequency",
                        "MonitorArnList",
                        "Subscribers",
                        "SubscriptionName",
                        "Threshold"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CE::AnomalySubscription"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CE::AnomalySubscription.Subscriber": {
            "additionalProperties": false,
            "properties": {
                "Address": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Address",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CE::CostCategory": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultValue": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RuleVersion": {
                            "type": "string"
                        },
                        "Rules": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "RuleVersion",
                        "Rules"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CE::CostCategory"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CUR::ReportDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdditionalArtifacts": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AdditionalSchemaElements": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "BillingViewArn": {
                            "type": "string"
                        },
                        "Compression": {
                            "type": "string"
                        },
                        "Format": {
                            "type": "string"
                        },
                        "RefreshClosedReports": {
                            "type": "boolean"
                        },
                        "ReportName": {
                            "type": "string"
                        },
                        "ReportVersioning": {
                            "type": "string"
                        },
                        "S3Bucket": {
                            "type": "string"
                        },
                        "S3Prefix": {
                            "type": "string"
                        },
                        "S3Region": {
                            "type": "string"
                        },
                        "TimeUnit": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Compression",
                        "Format",
                        "RefreshClosedReports",
                        "ReportName",
                        "ReportVersioning",
                        "S3Bucket",
                        "S3Prefix",
                        "S3Region",
                        "TimeUnit"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CUR::ReportDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cassandra::Keyspace": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "KeyspaceName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cassandra::Keyspace"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Cassandra::Table": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BillingMode": {
                            "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode"
                        },
                        "ClusteringKeyColumns": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn"
                            },
                            "type": "array"
                        },
                        "KeyspaceName": {
                            "type": "string"
                        },
                        "PartitionKeyColumns": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cassandra::Table.Column"
                            },
                            "type": "array"
                        },
                        "PointInTimeRecoveryEnabled": {
                            "type": "boolean"
                        },
                        "RegularColumns": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cassandra::Table.Column"
                            },
                            "type": "array"
                        },
                        "TableName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "KeyspaceName",
                        "PartitionKeyColumns"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cassandra::Table"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cassandra::Table.BillingMode": {
            "additionalProperties": false,
            "properties": {
                "Mode": {
                    "type": "string"
                },
                "ProvisionedThroughput": {
                    "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput"
                }
            },
            "required": [
                "Mode"
            ],
            "type": "object"
        },
        "AWS::Cassandra::Table.ClusteringKeyColumn": {
            "additionalProperties": false,
            "properties": {
                "Column": {
                    "$ref": "#/definitions/AWS::Cassandra::Table.Column"
                },
                "OrderBy": {
                    "type": "string"
                }
            },
            "required": [
                "Column"
            ],
            "type": "object"
        },
        "AWS::Cassandra::Table.Column": {
            "additionalProperties": false,
            "properties": {
                "ColumnName": {
                    "type": "string"
                },
                "ColumnType": {
                    "type": "string"
                }
            },
            "required": [
                "ColumnName",
                "ColumnType"
            ],
            "type": "object"
        },
        "AWS::Cassandra::Table.ProvisionedThroughput": {
            "additionalProperties": false,
            "properties": {
                "ReadCapacityUnits": {
                    "type": "number"
                },
                "WriteCapacityUnits": {
                    "type": "number"
                }
            },
            "required": [
                "ReadCapacityUnits",
                "WriteCapacityUnits"
            ],
            "type": "object"
        },
        "AWS::CertificateManager::Account": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExpiryEventsConfiguration": {
                            "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration"
                        }
                    },
                    "required": [
                        "ExpiryEventsConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CertificateManager::Account"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CertificateManager::Account.ExpiryEventsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DaysBeforeExpiry": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::CertificateManager::Certificate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CertificateAuthorityArn": {
                            "type": "string"
                        },
                        "CertificateTransparencyLoggingPreference": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "DomainValidationOptions": {
                            "items": {
                                "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption"
                            },
                            "type": "array"
                        },
                        "SubjectAlternativeNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ValidationMethod": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CertificateManager::Certificate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CertificateManager::Certificate.DomainValidationOption": {
            "additionalProperties": false,
            "properties": {
                "DomainName": {
                    "type": "string"
                },
                "HostedZoneId": {
                    "type": "string"
                },
                "ValidationDomain": {
                    "type": "string"
                }
            },
            "required": [
                "DomainName"
            ],
            "type": "object"
        },
        "AWS::Chatbot::SlackChannelConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConfigurationName": {
                            "type": "string"
                        },
                        "IamRoleArn": {
                            "type": "string"
                        },
                        "LoggingLevel": {
                            "type": "string"
                        },
                        "SlackChannelId": {
                            "type": "string"
                        },
                        "SlackWorkspaceId": {
                            "type": "string"
                        },
                        "SnsTopicArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ConfigurationName",
                        "IamRoleArn",
                        "SlackChannelId",
                        "SlackWorkspaceId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Chatbot::SlackChannelConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cloud9::EnvironmentEC2": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutomaticStopTimeMinutes": {
                            "type": "number"
                        },
                        "ConnectionType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "ImageId": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OwnerArn": {
                            "type": "string"
                        },
                        "Repositories": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cloud9::EnvironmentEC2"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cloud9::EnvironmentEC2.Repository": {
            "additionalProperties": false,
            "properties": {
                "PathComponent": {
                    "type": "string"
                },
                "RepositoryUrl": {
                    "type": "string"
                }
            },
            "required": [
                "PathComponent",
                "RepositoryUrl"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::CustomResource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ServiceToken": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ServiceToken"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::CustomResource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::Macro": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "LogGroupName": {
                            "type": "string"
                        },
                        "LogRoleARN": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FunctionName",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::Macro"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::ModuleDefaultVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Arn": {
                            "type": "string"
                        },
                        "ModuleName": {
                            "type": "string"
                        },
                        "VersionId": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::ModuleDefaultVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::ModuleVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ModuleName": {
                            "type": "string"
                        },
                        "ModulePackage": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ModuleName",
                        "ModulePackage"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::ModuleVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::ResourceDefaultVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "TypeName": {
                            "type": "string"
                        },
                        "TypeVersionArn": {
                            "type": "string"
                        },
                        "VersionId": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::ResourceDefaultVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::ResourceVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "LoggingConfig": {
                            "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig"
                        },
                        "SchemaHandlerPackage": {
                            "type": "string"
                        },
                        "TypeName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SchemaHandlerPackage",
                        "TypeName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::ResourceVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::ResourceVersion.LoggingConfig": {
            "additionalProperties": false,
            "properties": {
                "LogGroupName": {
                    "type": "string"
                },
                "LogRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFormation::Stack": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "NotificationARNs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Parameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TemplateURL": {
                            "type": "string"
                        },
                        "TimeoutInMinutes": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "TemplateURL"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::Stack"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::StackSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdministrationRoleARN": {
                            "type": "string"
                        },
                        "AutoDeployment": {
                            "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment"
                        },
                        "CallAs": {
                            "type": "string"
                        },
                        "Capabilities": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "ExecutionRoleName": {
                            "type": "string"
                        },
                        "OperationPreferences": {
                            "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences"
                        },
                        "Parameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter"
                            },
                            "type": "array"
                        },
                        "PermissionModel": {
                            "type": "string"
                        },
                        "StackInstancesGroup": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances"
                            },
                            "type": "array"
                        },
                        "StackSetName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TemplateBody": {
                            "type": "string"
                        },
                        "TemplateURL": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PermissionModel",
                        "StackSetName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::StackSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::StackSet.AutoDeployment": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "RetainStacksOnAccountRemoval": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::CloudFormation::StackSet.DeploymentTargets": {
            "additionalProperties": false,
            "properties": {
                "Accounts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "OrganizationalUnitIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CloudFormation::StackSet.OperationPreferences": {
            "additionalProperties": false,
            "properties": {
                "FailureToleranceCount": {
                    "type": "number"
                },
                "FailureTolerancePercentage": {
                    "type": "number"
                },
                "MaxConcurrentCount": {
                    "type": "number"
                },
                "MaxConcurrentPercentage": {
                    "type": "number"
                },
                "RegionConcurrencyType": {
                    "type": "string"
                },
                "RegionOrder": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CloudFormation::StackSet.Parameter": {
            "additionalProperties": false,
            "properties": {
                "ParameterKey": {
                    "type": "string"
                },
                "ParameterValue": {
                    "type": "string"
                }
            },
            "required": [
                "ParameterKey",
                "ParameterValue"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::StackSet.StackInstances": {
            "additionalProperties": false,
            "properties": {
                "DeploymentTargets": {
                    "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets"
                },
                "ParameterOverrides": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter"
                    },
                    "type": "array"
                },
                "Regions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DeploymentTargets",
                "Regions"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::WaitCondition": {
            "additionalProperties": false,
            "properties": {
                "CreationPolicy": {
                    "type": "object"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Count": {
                            "type": "number"
                        },
                        "Handle": {
                            "type": "string"
                        },
                        "Timeout": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::WaitCondition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::WaitConditionHandle": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {},
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::WaitConditionHandle"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CachePolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CachePolicyConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig"
                        }
                    },
                    "required": [
                        "CachePolicyConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::CachePolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CachePolicy.CachePolicyConfig": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "DefaultTTL": {
                    "type": "number"
                },
                "MaxTTL": {
                    "type": "number"
                },
                "MinTTL": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "ParametersInCacheKeyAndForwardedToOrigin": {
                    "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin"
                }
            },
            "required": [
                "DefaultTTL",
                "MaxTTL",
                "MinTTL",
                "Name",
                "ParametersInCacheKeyAndForwardedToOrigin"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CachePolicy.CookiesConfig": {
            "additionalProperties": false,
            "properties": {
                "CookieBehavior": {
                    "type": "string"
                },
                "Cookies": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "CookieBehavior"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CachePolicy.HeadersConfig": {
            "additionalProperties": false,
            "properties": {
                "HeaderBehavior": {
                    "type": "string"
                },
                "Headers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "HeaderBehavior"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": {
            "additionalProperties": false,
            "properties": {
                "CookiesConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig"
                },
                "EnableAcceptEncodingBrotli": {
                    "type": "boolean"
                },
                "EnableAcceptEncodingGzip": {
                    "type": "boolean"
                },
                "HeadersConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig"
                },
                "QueryStringsConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig"
                }
            },
            "required": [
                "CookiesConfig",
                "EnableAcceptEncodingGzip",
                "HeadersConfig",
                "QueryStringsConfig"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CachePolicy.QueryStringsConfig": {
            "additionalProperties": false,
            "properties": {
                "QueryStringBehavior": {
                    "type": "string"
                },
                "QueryStrings": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "QueryStringBehavior"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CloudFrontOriginAccessIdentity": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CloudFrontOriginAccessIdentityConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig"
                        }
                    },
                    "required": [
                        "CloudFrontOriginAccessIdentityConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::CloudFrontOriginAccessIdentity"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                }
            },
            "required": [
                "Comment"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DistributionConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DistributionConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::Distribution"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.CacheBehavior": {
            "additionalProperties": false,
            "properties": {
                "AllowedMethods": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CachePolicyId": {
                    "type": "string"
                },
                "CachedMethods": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Compress": {
                    "type": "boolean"
                },
                "DefaultTTL": {
                    "type": "number"
                },
                "FieldLevelEncryptionId": {
                    "type": "string"
                },
                "ForwardedValues": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues"
                },
                "FunctionAssociations": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation"
                    },
                    "type": "array"
                },
                "LambdaFunctionAssociations": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation"
                    },
                    "type": "array"
                },
                "MaxTTL": {
                    "type": "number"
                },
                "MinTTL": {
                    "type": "number"
                },
                "OriginRequestPolicyId": {
                    "type": "string"
                },
                "PathPattern": {
                    "type": "string"
                },
                "RealtimeLogConfigArn": {
                    "type": "string"
                },
                "SmoothStreaming": {
                    "type": "boolean"
                },
                "TargetOriginId": {
                    "type": "string"
                },
                "TrustedKeyGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TrustedSigners": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ViewerProtocolPolicy": {
                    "type": "string"
                }
            },
            "required": [
                "PathPattern",
                "TargetOriginId",
                "ViewerProtocolPolicy"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.Cookies": {
            "additionalProperties": false,
            "properties": {
                "Forward": {
                    "type": "string"
                },
                "WhitelistedNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Forward"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.CustomErrorResponse": {
            "additionalProperties": false,
            "properties": {
                "ErrorCachingMinTTL": {
                    "type": "number"
                },
                "ErrorCode": {
                    "type": "number"
                },
                "ResponseCode": {
                    "type": "number"
                },
                "ResponsePagePath": {
                    "type": "string"
                }
            },
            "required": [
                "ErrorCode"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.CustomOriginConfig": {
            "additionalProperties": false,
            "properties": {
                "HTTPPort": {
                    "type": "number"
                },
                "HTTPSPort": {
                    "type": "number"
                },
                "OriginKeepaliveTimeout": {
                    "type": "number"
                },
                "OriginProtocolPolicy": {
                    "type": "string"
                },
                "OriginReadTimeout": {
                    "type": "number"
                },
                "OriginSSLProtocols": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "OriginProtocolPolicy"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.DefaultCacheBehavior": {
            "additionalProperties": false,
            "properties": {
                "AllowedMethods": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CachePolicyId": {
                    "type": "string"
                },
                "CachedMethods": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Compress": {
                    "type": "boolean"
                },
                "DefaultTTL": {
                    "type": "number"
                },
                "FieldLevelEncryptionId": {
                    "type": "string"
                },
                "ForwardedValues": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues"
                },
                "FunctionAssociations": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation"
                    },
                    "type": "array"
                },
                "LambdaFunctionAssociations": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation"
                    },
                    "type": "array"
                },
                "MaxTTL": {
                    "type": "number"
                },
                "MinTTL": {
                    "type": "number"
                },
                "OriginRequestPolicyId": {
                    "type": "string"
                },
                "RealtimeLogConfigArn": {
                    "type": "string"
                },
                "SmoothStreaming": {
                    "type": "boolean"
                },
                "TargetOriginId": {
                    "type": "string"
                },
                "TrustedKeyGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TrustedSigners": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ViewerProtocolPolicy": {
                    "type": "string"
                }
            },
            "required": [
                "TargetOriginId",
                "ViewerProtocolPolicy"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.DistributionConfig": {
            "additionalProperties": false,
            "properties": {
                "Aliases": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CNAMEs": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CacheBehaviors": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior"
                    },
                    "type": "array"
                },
                "Comment": {
                    "type": "string"
                },
                "CustomErrorResponses": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse"
                    },
                    "type": "array"
                },
                "CustomOrigin": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin"
                },
                "DefaultCacheBehavior": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior"
                },
                "DefaultRootObject": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "HttpVersion": {
                    "type": "string"
                },
                "IPV6Enabled": {
                    "type": "boolean"
                },
                "Logging": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging"
                },
                "OriginGroups": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups"
                },
                "Origins": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin"
                    },
                    "type": "array"
                },
                "PriceClass": {
                    "type": "string"
                },
                "Restrictions": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions"
                },
                "S3Origin": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin"
                },
                "ViewerCertificate": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate"
                },
                "WebACLId": {
                    "type": "string"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.ForwardedValues": {
            "additionalProperties": false,
            "properties": {
                "Cookies": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies"
                },
                "Headers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "QueryString": {
                    "type": "boolean"
                },
                "QueryStringCacheKeys": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "QueryString"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.FunctionAssociation": {
            "additionalProperties": false,
            "properties": {
                "EventType": {
                    "type": "string"
                },
                "FunctionARN": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::Distribution.GeoRestriction": {
            "additionalProperties": false,
            "properties": {
                "Locations": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RestrictionType": {
                    "type": "string"
                }
            },
            "required": [
                "RestrictionType"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.LambdaFunctionAssociation": {
            "additionalProperties": false,
            "properties": {
                "EventType": {
                    "type": "string"
                },
                "IncludeBody": {
                    "type": "boolean"
                },
                "LambdaFunctionARN": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::Distribution.LegacyCustomOrigin": {
            "additionalProperties": false,
            "properties": {
                "DNSName": {
                    "type": "string"
                },
                "HTTPPort": {
                    "type": "number"
                },
                "HTTPSPort": {
                    "type": "number"
                },
                "OriginProtocolPolicy": {
                    "type": "string"
                },
                "OriginSSLProtocols": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DNSName",
                "OriginProtocolPolicy",
                "OriginSSLProtocols"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.LegacyS3Origin": {
            "additionalProperties": false,
            "properties": {
                "DNSName": {
                    "type": "string"
                },
                "OriginAccessIdentity": {
                    "type": "string"
                }
            },
            "required": [
                "DNSName"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.Logging": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "IncludeCookies": {
                    "type": "boolean"
                },
                "Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.Origin": {
            "additionalProperties": false,
            "properties": {
                "ConnectionAttempts": {
                    "type": "number"
                },
                "ConnectionTimeout": {
                    "type": "number"
                },
                "CustomOriginConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig"
                },
                "DomainName": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "OriginCustomHeaders": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader"
                    },
                    "type": "array"
                },
                "OriginPath": {
                    "type": "string"
                },
                "OriginShield": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield"
                },
                "S3OriginConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig"
                }
            },
            "required": [
                "DomainName",
                "Id"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.OriginCustomHeader": {
            "additionalProperties": false,
            "properties": {
                "HeaderName": {
                    "type": "string"
                },
                "HeaderValue": {
                    "type": "string"
                }
            },
            "required": [
                "HeaderName",
                "HeaderValue"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.OriginGroup": {
            "additionalProperties": false,
            "properties": {
                "FailoverCriteria": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria"
                },
                "Id": {
                    "type": "string"
                },
                "Members": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers"
                }
            },
            "required": [
                "FailoverCriteria",
                "Id",
                "Members"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": {
            "additionalProperties": false,
            "properties": {
                "StatusCodes": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes"
                }
            },
            "required": [
                "StatusCodes"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.OriginGroupMember": {
            "additionalProperties": false,
            "properties": {
                "OriginId": {
                    "type": "string"
                }
            },
            "required": [
                "OriginId"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.OriginGroupMembers": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember"
                    },
                    "type": "array"
                },
                "Quantity": {
                    "type": "number"
                }
            },
            "required": [
                "Items",
                "Quantity"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.OriginGroups": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup"
                    },
                    "type": "array"
                },
                "Quantity": {
                    "type": "number"
                }
            },
            "required": [
                "Quantity"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.OriginShield": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "OriginShieldRegion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::Distribution.Restrictions": {
            "additionalProperties": false,
            "properties": {
                "GeoRestriction": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction"
                }
            },
            "required": [
                "GeoRestriction"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.S3OriginConfig": {
            "additionalProperties": false,
            "properties": {
                "OriginAccessIdentity": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::Distribution.StatusCodes": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "Quantity": {
                    "type": "number"
                }
            },
            "required": [
                "Items",
                "Quantity"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution.ViewerCertificate": {
            "additionalProperties": false,
            "properties": {
                "AcmCertificateArn": {
                    "type": "string"
                },
                "CloudFrontDefaultCertificate": {
                    "type": "boolean"
                },
                "IamCertificateId": {
                    "type": "string"
                },
                "MinimumProtocolVersion": {
                    "type": "string"
                },
                "SslSupportMethod": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::Function": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoPublish": {
                            "type": "boolean"
                        },
                        "FunctionCode": {
                            "type": "string"
                        },
                        "FunctionConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig"
                        },
                        "FunctionMetadata": {
                            "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::Function"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Function.FunctionConfig": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "Runtime": {
                    "type": "string"
                }
            },
            "required": [
                "Comment",
                "Runtime"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Function.FunctionMetadata": {
            "additionalProperties": false,
            "properties": {
                "FunctionARN": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::KeyGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "KeyGroupConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig"
                        }
                    },
                    "required": [
                        "KeyGroupConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::KeyGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::KeyGroup.KeyGroupConfig": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "Items": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Items",
                "Name"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginRequestPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "OriginRequestPolicyConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig"
                        }
                    },
                    "required": [
                        "OriginRequestPolicyConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::OriginRequestPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": {
            "additionalProperties": false,
            "properties": {
                "CookieBehavior": {
                    "type": "string"
                },
                "Cookies": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "CookieBehavior"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": {
            "additionalProperties": false,
            "properties": {
                "HeaderBehavior": {
                    "type": "string"
                },
                "Headers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "HeaderBehavior"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "CookiesConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig"
                },
                "HeadersConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig"
                },
                "Name": {
                    "type": "string"
                },
                "QueryStringsConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig"
                }
            },
            "required": [
                "CookiesConfig",
                "HeadersConfig",
                "Name",
                "QueryStringsConfig"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": {
            "additionalProperties": false,
            "properties": {
                "QueryStringBehavior": {
                    "type": "string"
                },
                "QueryStrings": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "QueryStringBehavior"
            ],
            "type": "object"
        },
        "AWS::CloudFront::PublicKey": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PublicKeyConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig"
                        }
                    },
                    "required": [
                        "PublicKeyConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::PublicKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::PublicKey.PublicKeyConfig": {
            "additionalProperties": false,
            "properties": {
                "CallerReference": {
                    "type": "string"
                },
                "Comment": {
                    "type": "string"
                },
                "EncodedKey": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "CallerReference",
                "EncodedKey",
                "Name"
            ],
            "type": "object"
        },
        "AWS::CloudFront::RealtimeLogConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EndPoints": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint"
                            },
                            "type": "array"
                        },
                        "Fields": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "SamplingRate": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "EndPoints",
                        "Fields",
                        "Name",
                        "SamplingRate"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::RealtimeLogConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::RealtimeLogConfig.EndPoint": {
            "additionalProperties": false,
            "properties": {
                "KinesisStreamConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig"
                },
                "StreamType": {
                    "type": "string"
                }
            },
            "required": [
                "KinesisStreamConfig",
                "StreamType"
            ],
            "type": "object"
        },
        "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                },
                "StreamArn": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn",
                "StreamArn"
            ],
            "type": "object"
        },
        "AWS::CloudFront::StreamingDistribution": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "StreamingDistributionConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "StreamingDistributionConfig",
                        "Tags"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::StreamingDistribution"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::StreamingDistribution.Logging": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Enabled",
                "Prefix"
            ],
            "type": "object"
        },
        "AWS::CloudFront::StreamingDistribution.S3Origin": {
            "additionalProperties": false,
            "properties": {
                "DomainName": {
                    "type": "string"
                },
                "OriginAccessIdentity": {
                    "type": "string"
                }
            },
            "required": [
                "DomainName",
                "OriginAccessIdentity"
            ],
            "type": "object"
        },
        "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": {
            "additionalProperties": false,
            "properties": {
                "Aliases": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Comment": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Logging": {
                    "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging"
                },
                "PriceClass": {
                    "type": "string"
                },
                "S3Origin": {
                    "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin"
                },
                "TrustedSigners": {
                    "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners"
                }
            },
            "required": [
                "Comment",
                "Enabled",
                "S3Origin",
                "TrustedSigners"
            ],
            "type": "object"
        },
        "AWS::CloudFront::StreamingDistribution.TrustedSigners": {
            "additionalProperties": false,
            "properties": {
                "AwsAccountNumbers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::Trail": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CloudWatchLogsLogGroupArn": {
                            "type": "string"
                        },
                        "CloudWatchLogsRoleArn": {
                            "type": "string"
                        },
                        "EnableLogFileValidation": {
                            "type": "boolean"
                        },
                        "EventSelectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector"
                            },
                            "type": "array"
                        },
                        "IncludeGlobalServiceEvents": {
                            "type": "boolean"
                        },
                        "IsLogging": {
                            "type": "boolean"
                        },
                        "IsMultiRegionTrail": {
                            "type": "boolean"
                        },
                        "KMSKeyId": {
                            "type": "string"
                        },
                        "S3BucketName": {
                            "type": "string"
                        },
                        "S3KeyPrefix": {
                            "type": "string"
                        },
                        "SnsTopicName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TrailName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "IsLogging",
                        "S3BucketName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudTrail::Trail"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::Trail.DataResource": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::Trail.EventSelector": {
            "additionalProperties": false,
            "properties": {
                "DataResources": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource"
                    },
                    "type": "array"
                },
                "IncludeManagementEvents": {
                    "type": "boolean"
                },
                "ReadWriteType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudWatch::Alarm": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ActionsEnabled": {
                            "type": "boolean"
                        },
                        "AlarmActions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AlarmDescription": {
                            "type": "string"
                        },
                        "AlarmName": {
                            "type": "string"
                        },
                        "ComparisonOperator": {
                            "type": "string"
                        },
                        "DatapointsToAlarm": {
                            "type": "number"
                        },
                        "Dimensions": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension"
                            },
                            "type": "array"
                        },
                        "EvaluateLowSampleCountPercentile": {
                            "type": "string"
                        },
                        "EvaluationPeriods": {
                            "type": "number"
                        },
                        "ExtendedStatistic": {
                            "type": "string"
                        },
                        "InsufficientDataActions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MetricName": {
                            "type": "string"
                        },
                        "Metrics": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery"
                            },
                            "type": "array"
                        },
                        "Namespace": {
                            "type": "string"
                        },
                        "OKActions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Period": {
                            "type": "number"
                        },
                        "Statistic": {
                            "type": "string"
                        },
                        "Threshold": {
                            "type": "number"
                        },
                        "ThresholdMetricId": {
                            "type": "string"
                        },
                        "TreatMissingData": {
                            "type": "string"
                        },
                        "Unit": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ComparisonOperator",
                        "EvaluationPeriods"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudWatch::Alarm"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::Alarm.Dimension": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::Alarm.Metric": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudWatch::Alarm.MetricDataQuery": {
            "additionalProperties": false,
            "properties": {
                "Expression": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "MetricStat": {
                    "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricStat"
                },
                "Period": {
                    "type": "number"
                },
                "ReturnData": {
                    "type": "boolean"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::Alarm.MetricStat": {
            "additionalProperties": false,
            "properties": {
                "Metric": {
                    "$ref": "#/definitions/AWS::CloudWatch::Alarm.Metric"
                },
                "Period": {
                    "type": "number"
                },
                "Stat": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "Metric",
                "Period",
                "Stat"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Configuration": {
                            "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration"
                        },
                        "Dimensions": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension"
                            },
                            "type": "array"
                        },
                        "MetricName": {
                            "type": "string"
                        },
                        "Namespace": {
                            "type": "string"
                        },
                        "Stat": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MetricName",
                        "Namespace",
                        "Stat"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudWatch::AnomalyDetector"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.Configuration": {
            "additionalProperties": false,
            "properties": {
                "ExcludedTimeRanges": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range"
                    },
                    "type": "array"
                },
                "MetricTimeZone": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.Dimension": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.Range": {
            "additionalProperties": false,
            "properties": {
                "EndTime": {
                    "type": "string"
                },
                "StartTime": {
                    "type": "string"
                }
            },
            "required": [
                "EndTime",
                "StartTime"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::CompositeAlarm": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ActionsEnabled": {
                            "type": "boolean"
                        },
                        "AlarmActions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AlarmDescription": {
                            "type": "string"
                        },
                        "AlarmName": {
                            "type": "string"
                        },
                        "AlarmRule": {
                            "type": "string"
                        },
                        "InsufficientDataActions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "OKActions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AlarmName",
                        "AlarmRule"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudWatch::CompositeAlarm"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::Dashboard": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DashboardBody": {
                            "type": "string"
                        },
                        "DashboardName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DashboardBody"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudWatch::Dashboard"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::InsightRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "RuleBody": {
                            "type": "string"
                        },
                        "RuleName": {
                            "type": "string"
                        },
                        "RuleState": {
                            "type": "string"
                        },
                        "Tags": {
                            "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags"
                        }
                    },
                    "required": [
                        "RuleBody",
                        "RuleName",
                        "RuleState"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudWatch::InsightRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::InsightRule.Tags": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::CloudWatch::MetricStream": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExcludeFilters": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter"
                            },
                            "type": "array"
                        },
                        "FirehoseArn": {
                            "type": "string"
                        },
                        "IncludeFilters": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OutputFormat": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "FirehoseArn",
                        "OutputFormat",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudWatch::MetricStream"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::MetricStream.MetricStreamFilter": {
            "additionalProperties": false,
            "properties": {
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "Namespace"
            ],
            "type": "object"
        },
        "AWS::CodeArtifact::Domain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DomainName": {
                            "type": "string"
                        },
                        "EncryptionKey": {
                            "type": "string"
                        },
                        "PermissionsPolicyDocument": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeArtifact::Domain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeArtifact::Repository": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "DomainOwner": {
                            "type": "string"
                        },
                        "ExternalConnections": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PermissionsPolicyDocument": {
                            "type": "object"
                        },
                        "RepositoryName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Upstreams": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DomainName",
                        "RepositoryName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeArtifact::Repository"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Artifacts": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts"
                        },
                        "BadgeEnabled": {
                            "type": "boolean"
                        },
                        "BuildBatchConfig": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig"
                        },
                        "Cache": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache"
                        },
                        "ConcurrentBuildLimit": {
                            "type": "number"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EncryptionKey": {
                            "type": "string"
                        },
                        "Environment": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.Environment"
                        },
                        "FileSystemLocations": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation"
                            },
                            "type": "array"
                        },
                        "LogsConfig": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "QueuedTimeoutInMinutes": {
                            "type": "number"
                        },
                        "SecondaryArtifacts": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts"
                            },
                            "type": "array"
                        },
                        "SecondarySourceVersions": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion"
                            },
                            "type": "array"
                        },
                        "SecondarySources": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeBuild::Project.Source"
                            },
                            "type": "array"
                        },
                        "ServiceRole": {
                            "type": "string"
                        },
                        "Source": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.Source"
                        },
                        "SourceVersion": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TimeoutInMinutes": {
                            "type": "number"
                        },
                        "Triggers": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig"
                        }
                    },
                    "required": [
                        "Artifacts",
                        "Environment",
                        "ServiceRole",
                        "Source"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeBuild::Project"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.Artifacts": {
            "additionalProperties": false,
            "properties": {
                "ArtifactIdentifier": {
                    "type": "string"
                },
                "EncryptionDisabled": {
                    "type": "boolean"
                },
                "Location": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "NamespaceType": {
                    "type": "string"
                },
                "OverrideArtifactName": {
                    "type": "boolean"
                },
                "Packaging": {
                    "type": "string"
                },
                "Path": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.BatchRestrictions": {
            "additionalProperties": false,
            "properties": {
                "ComputeTypesAllowed": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MaximumBuildsAllowed": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::CodeBuild::Project.BuildStatusConfig": {
            "additionalProperties": false,
            "properties": {
                "Context": {
                    "type": "string"
                },
                "TargetUrl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeBuild::Project.CloudWatchLogsConfig": {
            "additionalProperties": false,
            "properties": {
                "GroupName": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "StreamName": {
                    "type": "string"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.Environment": {
            "additionalProperties": false,
            "properties": {
                "Certificate": {
                    "type": "string"
                },
                "ComputeType": {
                    "type": "string"
                },
                "EnvironmentVariables": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable"
                    },
                    "type": "array"
                },
                "Image": {
                    "type": "string"
                },
                "ImagePullCredentialsType": {
                    "type": "string"
                },
                "PrivilegedMode": {
                    "type": "boolean"
                },
                "RegistryCredential": {
                    "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "ComputeType",
                "Image",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.EnvironmentVariable": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.FilterGroup": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::CodeBuild::Project.GitSubmodulesConfig": {
            "additionalProperties": false,
            "properties": {
                "FetchSubmodules": {
                    "type": "boolean"
                }
            },
            "required": [
                "FetchSubmodules"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.LogsConfig": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogs": {
                    "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig"
                },
                "S3Logs": {
                    "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig"
                }
            },
            "type": "object"
        },
        "AWS::CodeBuild::Project.ProjectBuildBatchConfig": {
            "additionalProperties": false,
            "properties": {
                "CombineArtifacts": {
                    "type": "boolean"
                },
                "Restrictions": {
                    "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions"
                },
                "ServiceRole": {
                    "type": "string"
                },
                "TimeoutInMins": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::CodeBuild::Project.ProjectCache": {
            "additionalProperties": false,
            "properties": {
                "Location": {
                    "type": "string"
                },
                "Modes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.ProjectFileSystemLocation": {
            "additionalProperties": false,
            "properties": {
                "Identifier": {
                    "type": "string"
                },
                "Location": {
                    "type": "string"
                },
                "MountOptions": {
                    "type": "string"
                },
                "MountPoint": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Identifier",
                "Location",
                "MountPoint",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.ProjectSourceVersion": {
            "additionalProperties": false,
            "properties": {
                "SourceIdentifier": {
                    "type": "string"
                },
                "SourceVersion": {
                    "type": "string"
                }
            },
            "required": [
                "SourceIdentifier"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.ProjectTriggers": {
            "additionalProperties": false,
            "properties": {
                "BuildType": {
                    "type": "string"
                },
                "FilterGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup"
                    },
                    "type": "array"
                },
                "Webhook": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::CodeBuild::Project.RegistryCredential": {
            "additionalProperties": false,
            "properties": {
                "Credential": {
                    "type": "string"
                },
                "CredentialProvider": {
                    "type": "string"
                }
            },
            "required": [
                "Credential",
                "CredentialProvider"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.S3LogsConfig": {
            "additionalProperties": false,
            "properties": {
                "EncryptionDisabled": {
                    "type": "boolean"
                },
                "Location": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.Source": {
            "additionalProperties": false,
            "properties": {
                "Auth": {
                    "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth"
                },
                "BuildSpec": {
                    "type": "string"
                },
                "BuildStatusConfig": {
                    "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig"
                },
                "GitCloneDepth": {
                    "type": "number"
                },
                "GitSubmodulesConfig": {
                    "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig"
                },
                "InsecureSsl": {
                    "type": "boolean"
                },
                "Location": {
                    "type": "string"
                },
                "ReportBuildStatus": {
                    "type": "boolean"
                },
                "SourceIdentifier": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.SourceAuth": {
            "additionalProperties": false,
            "properties": {
                "Resource": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::Project.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "VpcId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeBuild::Project.WebhookFilter": {
            "additionalProperties": false,
            "properties": {
                "ExcludeMatchedPattern": {
                    "type": "boolean"
                },
                "Pattern": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Pattern",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::ReportGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeleteReports": {
                            "type": "boolean"
                        },
                        "ExportConfig": {
                            "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ExportConfig",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeBuild::ReportGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::ReportGroup.ReportExportConfig": {
            "additionalProperties": false,
            "properties": {
                "ExportConfigType": {
                    "type": "string"
                },
                "S3Destination": {
                    "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig"
                }
            },
            "required": [
                "ExportConfigType"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "BucketOwner": {
                    "type": "string"
                },
                "EncryptionDisabled": {
                    "type": "boolean"
                },
                "EncryptionKey": {
                    "type": "string"
                },
                "Packaging": {
                    "type": "string"
                },
                "Path": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::CodeBuild::SourceCredential": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthType": {
                            "type": "string"
                        },
                        "ServerType": {
                            "type": "string"
                        },
                        "Token": {
                            "type": "string"
                        },
                        "Username": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AuthType",
                        "ServerType",
                        "Token"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeBuild::SourceCredential"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeCommit::Repository": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Code": {
                            "$ref": "#/definitions/AWS::CodeCommit::Repository.Code"
                        },
                        "RepositoryDescription": {
                            "type": "string"
                        },
                        "RepositoryName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Triggers": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "RepositoryName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeCommit::Repository"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeCommit::Repository.Code": {
            "additionalProperties": false,
            "properties": {
                "BranchName": {
                    "type": "string"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::CodeCommit::Repository.S3"
                }
            },
            "required": [
                "S3"
            ],
            "type": "object"
        },
        "AWS::CodeCommit::Repository.RepositoryTrigger": {
            "additionalProperties": false,
            "properties": {
                "Branches": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CustomData": {
                    "type": "string"
                },
                "DestinationArn": {
                    "type": "string"
                },
                "Events": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationArn",
                "Events",
                "Name"
            ],
            "type": "object"
        },
        "AWS::CodeCommit::Repository.S3": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "ObjectVersion": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "ComputePlatform": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeDeploy::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeploymentConfigName": {
                            "type": "string"
                        },
                        "MinimumHealthyHosts": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeDeploy::DeploymentConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AlarmConfiguration": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration"
                        },
                        "ApplicationName": {
                            "type": "string"
                        },
                        "AutoRollbackConfiguration": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration"
                        },
                        "AutoScalingGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Deployment": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Deployment"
                        },
                        "DeploymentConfigName": {
                            "type": "string"
                        },
                        "DeploymentGroupName": {
                            "type": "string"
                        },
                        "DeploymentStyle": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentStyle"
                        },
                        "Ec2TagFilters": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter"
                            },
                            "type": "array"
                        },
                        "Ec2TagSet": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSet"
                        },
                        "LoadBalancerInfo": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo"
                        },
                        "OnPremisesInstanceTagFilters": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter"
                            },
                            "type": "array"
                        },
                        "OnPremisesTagSet": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet"
                        },
                        "ServiceRoleArn": {
                            "type": "string"
                        },
                        "TriggerConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "ServiceRoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeDeploy::DeploymentGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.Alarm": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Alarms": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm"
                    },
                    "type": "array"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "IgnorePollAlarmFailure": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "Events": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.Deployment": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "IgnoreApplicationStopFailures": {
                    "type": "boolean"
                },
                "Revision": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.RevisionLocation"
                }
            },
            "required": [
                "Revision"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.DeploymentStyle": {
            "additionalProperties": false,
            "properties": {
                "DeploymentOption": {
                    "type": "string"
                },
                "DeploymentType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.EC2TagFilter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.EC2TagSet": {
            "additionalProperties": false,
            "properties": {
                "Ec2TagSetList": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject": {
            "additionalProperties": false,
            "properties": {
                "Ec2TagGroup": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.EC2TagFilter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.ELBInfo": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.GitHubLocation": {
            "additionalProperties": false,
            "properties": {
                "CommitId": {
                    "type": "string"
                },
                "Repository": {
                    "type": "string"
                }
            },
            "required": [
                "CommitId",
                "Repository"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.LoadBalancerInfo": {
            "additionalProperties": false,
            "properties": {
                "ElbInfoList": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ELBInfo"
                    },
                    "type": "array"
                },
                "TargetGroupInfoList": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": {
            "additionalProperties": false,
            "properties": {
                "OnPremisesTagSetList": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": {
            "additionalProperties": false,
            "properties": {
                "OnPremisesTagGroup": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": {
            "additionalProperties": false,
            "properties": {
                "GitHubLocation": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation"
                },
                "RevisionType": {
                    "type": "string"
                },
                "S3Location": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "BundleType": {
                    "type": "string"
                },
                "ETag": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.TagFilter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": {
            "additionalProperties": false,
            "properties": {
                "TriggerEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TriggerName": {
                    "type": "string"
                },
                "TriggerTargetArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodeGuruProfiler::ProfilingGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AgentPermissions": {
                            "type": "object"
                        },
                        "AnomalyDetectionNotificationConfiguration": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel"
                            },
                            "type": "array"
                        },
                        "ComputePlatform": {
                            "type": "string"
                        },
                        "ProfilingGroupName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ProfilingGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeGuruProfiler::ProfilingGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeGuruProfiler::ProfilingGroup.Channel": {
            "additionalProperties": false,
            "properties": {
                "channelId": {
                    "type": "string"
                },
                "channelUri": {
                    "type": "string"
                }
            },
            "required": [
                "channelUri"
            ],
            "type": "object"
        },
        "AWS::CodeGuruReviewer::RepositoryAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectionArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Owner": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeGuruReviewer::RepositoryAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::CustomActionType": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Category": {
                            "type": "string"
                        },
                        "ConfigurationProperties": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties"
                            },
                            "type": "array"
                        },
                        "InputArtifactDetails": {
                            "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails"
                        },
                        "OutputArtifactDetails": {
                            "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails"
                        },
                        "Provider": {
                            "type": "string"
                        },
                        "Settings": {
                            "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Version": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Category",
                        "InputArtifactDetails",
                        "OutputArtifactDetails",
                        "Provider",
                        "Version"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodePipeline::CustomActionType"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::CustomActionType.ArtifactDetails": {
            "additionalProperties": false,
            "properties": {
                "MaximumCount": {
                    "type": "number"
                },
                "MinimumCount": {
                    "type": "number"
                }
            },
            "required": [
                "MaximumCount",
                "MinimumCount"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::CustomActionType.ConfigurationProperties": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "Key": {
                    "type": "boolean"
                },
                "Name": {
                    "type": "string"
                },
                "Queryable": {
                    "type": "boolean"
                },
                "Required": {
                    "type": "boolean"
                },
                "Secret": {
                    "type": "boolean"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Name",
                "Required",
                "Secret"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::CustomActionType.Settings": {
            "additionalProperties": false,
            "properties": {
                "EntityUrlTemplate": {
                    "type": "string"
                },
                "ExecutionUrlTemplate": {
                    "type": "string"
                },
                "RevisionUrlTemplate": {
                    "type": "string"
                },
                "ThirdPartyConfigurationUrl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ArtifactStore": {
                            "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore"
                        },
                        "ArtifactStores": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap"
                            },
                            "type": "array"
                        },
                        "DisableInboundStageTransitions": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RestartExecutionOnUpdate": {
                            "type": "boolean"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Stages": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "RoleArn",
                        "Stages"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodePipeline::Pipeline"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.ActionDeclaration": {
            "additionalProperties": false,
            "properties": {
                "ActionTypeId": {
                    "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId"
                },
                "Configuration": {
                    "type": "object"
                },
                "InputArtifacts": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "OutputArtifacts": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact"
                    },
                    "type": "array"
                },
                "Region": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "RunOrder": {
                    "type": "number"
                }
            },
            "required": [
                "ActionTypeId",
                "Name"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.ActionTypeId": {
            "additionalProperties": false,
            "properties": {
                "Category": {
                    "type": "string"
                },
                "Owner": {
                    "type": "string"
                },
                "Provider": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Category",
                "Owner",
                "Provider",
                "Version"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.ArtifactStore": {
            "additionalProperties": false,
            "properties": {
                "EncryptionKey": {
                    "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey"
                },
                "Location": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Location",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.ArtifactStoreMap": {
            "additionalProperties": false,
            "properties": {
                "ArtifactStore": {
                    "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore"
                },
                "Region": {
                    "type": "string"
                }
            },
            "required": [
                "ArtifactStore",
                "Region"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.BlockerDeclaration": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.EncryptionKey": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Id",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.InputArtifact": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.OutputArtifact": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.StageDeclaration": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration"
                    },
                    "type": "array"
                },
                "Blockers": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Name"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Pipeline.StageTransition": {
            "additionalProperties": false,
            "properties": {
                "Reason": {
                    "type": "string"
                },
                "StageName": {
                    "type": "string"
                }
            },
            "required": [
                "Reason",
                "StageName"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Webhook": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Authentication": {
                            "type": "string"
                        },
                        "AuthenticationConfiguration": {
                            "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration"
                        },
                        "Filters": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RegisterWithThirdParty": {
                            "type": "boolean"
                        },
                        "TargetAction": {
                            "type": "string"
                        },
                        "TargetPipeline": {
                            "type": "string"
                        },
                        "TargetPipelineVersion": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Authentication",
                        "AuthenticationConfiguration",
                        "Filters",
                        "TargetAction",
                        "TargetPipeline",
                        "TargetPipelineVersion"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodePipeline::Webhook"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AllowedIPRange": {
                    "type": "string"
                },
                "SecretToken": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CodePipeline::Webhook.WebhookFilterRule": {
            "additionalProperties": false,
            "properties": {
                "JsonPath": {
                    "type": "string"
                },
                "MatchEquals": {
                    "type": "string"
                }
            },
            "required": [
                "JsonPath"
            ],
            "type": "object"
        },
        "AWS::CodeStar::GitHubRepository": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Code": {
                            "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code"
                        },
                        "ConnectionArn": {
                            "type": "string"
                        },
                        "EnableIssues": {
                            "type": "boolean"
                        },
                        "IsPrivate": {
                            "type": "boolean"
                        },
                        "RepositoryAccessToken": {
                            "type": "string"
                        },
                        "RepositoryDescription": {
                            "type": "string"
                        },
                        "RepositoryName": {
                            "type": "string"
                        },
                        "RepositoryOwner": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RepositoryName",
                        "RepositoryOwner"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeStar::GitHubRepository"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeStar::GitHubRepository.Code": {
            "additionalProperties": false,
            "properties": {
                "S3": {
                    "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3"
                }
            },
            "required": [
                "S3"
            ],
            "type": "object"
        },
        "AWS::CodeStar::GitHubRepository.S3": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "ObjectVersion": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::CodeStarConnections::Connection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectionName": {
                            "type": "string"
                        },
                        "HostArn": {
                            "type": "string"
                        },
                        "ProviderType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ConnectionName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeStarConnections::Connection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeStarNotifications::NotificationRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DetailType": {
                            "type": "string"
                        },
                        "EventTypeIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Resource": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Targets": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DetailType",
                        "EventTypeIds",
                        "Name",
                        "Resource",
                        "Targets"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CodeStarNotifications::NotificationRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CodeStarNotifications::NotificationRule.Target": {
            "additionalProperties": false,
            "properties": {
                "TargetAddress": {
                    "type": "string"
                },
                "TargetType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::IdentityPool": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowClassicFlow": {
                            "type": "boolean"
                        },
                        "AllowUnauthenticatedIdentities": {
                            "type": "boolean"
                        },
                        "CognitoEvents": {
                            "type": "object"
                        },
                        "CognitoIdentityProviders": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider"
                            },
                            "type": "array"
                        },
                        "CognitoStreams": {
                            "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams"
                        },
                        "DeveloperProviderName": {
                            "type": "string"
                        },
                        "IdentityPoolName": {
                            "type": "string"
                        },
                        "OpenIdConnectProviderARNs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PushSync": {
                            "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync"
                        },
                        "SamlProviderARNs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SupportedLoginProviders": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "AllowUnauthenticatedIdentities"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::IdentityPool"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::IdentityPool.CognitoIdentityProvider": {
            "additionalProperties": false,
            "properties": {
                "ClientId": {
                    "type": "string"
                },
                "ProviderName": {
                    "type": "string"
                },
                "ServerSideTokenCheck": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::IdentityPool.CognitoStreams": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                },
                "StreamName": {
                    "type": "string"
                },
                "StreamingStatus": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::IdentityPool.PushSync": {
            "additionalProperties": false,
            "properties": {
                "ApplicationArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::IdentityPoolRoleAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "IdentityPoolId": {
                            "type": "string"
                        },
                        "RoleMappings": {
                            "type": "object"
                        },
                        "Roles": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "IdentityPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::IdentityPoolRoleAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": {
            "additionalProperties": false,
            "properties": {
                "Claim": {
                    "type": "string"
                },
                "MatchType": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Claim",
                "MatchType",
                "RoleARN",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": {
            "additionalProperties": false,
            "properties": {
                "AmbiguousRoleResolution": {
                    "type": "string"
                },
                "IdentityProvider": {
                    "type": "string"
                },
                "RulesConfiguration": {
                    "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": {
            "additionalProperties": false,
            "properties": {
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Rules"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPool": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccountRecoverySetting": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting"
                        },
                        "AdminCreateUserConfig": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig"
                        },
                        "AliasAttributes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AutoVerifiedAttributes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "DeviceConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration"
                        },
                        "EmailConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration"
                        },
                        "EmailVerificationMessage": {
                            "type": "string"
                        },
                        "EmailVerificationSubject": {
                            "type": "string"
                        },
                        "EnabledMfas": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "LambdaConfig": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig"
                        },
                        "MfaConfiguration": {
                            "type": "string"
                        },
                        "Policies": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.Policies"
                        },
                        "Schema": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute"
                            },
                            "type": "array"
                        },
                        "SmsAuthenticationMessage": {
                            "type": "string"
                        },
                        "SmsConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration"
                        },
                        "SmsVerificationMessage": {
                            "type": "string"
                        },
                        "UserPoolAddOns": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns"
                        },
                        "UserPoolName": {
                            "type": "string"
                        },
                        "UserPoolTags": {
                            "type": "object"
                        },
                        "UsernameAttributes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "UsernameConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration"
                        },
                        "VerificationMessageTemplate": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPool"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPool.AccountRecoverySetting": {
            "additionalProperties": false,
            "properties": {
                "RecoveryMechanisms": {
                    "items": {
                        "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.AdminCreateUserConfig": {
            "additionalProperties": false,
            "properties": {
                "AllowAdminCreateUserOnly": {
                    "type": "boolean"
                },
                "InviteMessageTemplate": {
                    "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate"
                },
                "UnusedAccountValidityDays": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.CustomEmailSender": {
            "additionalProperties": false,
            "properties": {
                "LambdaArn": {
                    "type": "string"
                },
                "LambdaVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.CustomSMSSender": {
            "additionalProperties": false,
            "properties": {
                "LambdaArn": {
                    "type": "string"
                },
                "LambdaVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.DeviceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ChallengeRequiredOnNewDevice": {
                    "type": "boolean"
                },
                "DeviceOnlyRememberedOnUserPrompt": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.EmailConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ConfigurationSet": {
                    "type": "string"
                },
                "EmailSendingAccount": {
                    "type": "string"
                },
                "From": {
                    "type": "string"
                },
                "ReplyToEmailAddress": {
                    "type": "string"
                },
                "SourceArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.InviteMessageTemplate": {
            "additionalProperties": false,
            "properties": {
                "EmailMessage": {
                    "type": "string"
                },
                "EmailSubject": {
                    "type": "string"
                },
                "SMSMessage": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.LambdaConfig": {
            "additionalProperties": false,
            "properties": {
                "CreateAuthChallenge": {
                    "type": "string"
                },
                "CustomEmailSender": {
                    "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender"
                },
                "CustomMessage": {
                    "type": "string"
                },
                "CustomSMSSender": {
                    "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender"
                },
                "DefineAuthChallenge": {
                    "type": "string"
                },
                "KMSKeyID": {
                    "type": "string"
                },
                "PostAuthentication": {
                    "type": "string"
                },
                "PostConfirmation": {
                    "type": "string"
                },
                "PreAuthentication": {
                    "type": "string"
                },
                "PreSignUp": {
                    "type": "string"
                },
                "PreTokenGeneration": {
                    "type": "string"
                },
                "UserMigration": {
                    "type": "string"
                },
                "VerifyAuthChallengeResponse": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.NumberAttributeConstraints": {
            "additionalProperties": false,
            "properties": {
                "MaxValue": {
                    "type": "string"
                },
                "MinValue": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.PasswordPolicy": {
            "additionalProperties": false,
            "properties": {
                "MinimumLength": {
                    "type": "number"
                },
                "RequireLowercase": {
                    "type": "boolean"
                },
                "RequireNumbers": {
                    "type": "boolean"
                },
                "RequireSymbols": {
                    "type": "boolean"
                },
                "RequireUppercase": {
                    "type": "boolean"
                },
                "TemporaryPasswordValidityDays": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.Policies": {
            "additionalProperties": false,
            "properties": {
                "PasswordPolicy": {
                    "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.RecoveryOption": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.SchemaAttribute": {
            "additionalProperties": false,
            "properties": {
                "AttributeDataType": {
                    "type": "string"
                },
                "DeveloperOnlyAttribute": {
                    "type": "boolean"
                },
                "Mutable": {
                    "type": "boolean"
                },
                "Name": {
                    "type": "string"
                },
                "NumberAttributeConstraints": {
                    "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints"
                },
                "Required": {
                    "type": "boolean"
                },
                "StringAttributeConstraints": {
                    "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.SmsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ExternalId": {
                    "type": "string"
                },
                "SnsCallerArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.StringAttributeConstraints": {
            "additionalProperties": false,
            "properties": {
                "MaxLength": {
                    "type": "string"
                },
                "MinLength": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.UserPoolAddOns": {
            "additionalProperties": false,
            "properties": {
                "AdvancedSecurityMode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.UsernameConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CaseSensitive": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.VerificationMessageTemplate": {
            "additionalProperties": false,
            "properties": {
                "DefaultEmailOption": {
                    "type": "string"
                },
                "EmailMessage": {
                    "type": "string"
                },
                "EmailMessageByLink": {
                    "type": "string"
                },
                "EmailSubject": {
                    "type": "string"
                },
                "EmailSubjectByLink": {
                    "type": "string"
                },
                "SmsMessage": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPoolClient": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessTokenValidity": {
                            "type": "number"
                        },
                        "AllowedOAuthFlows": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AllowedOAuthFlowsUserPoolClient": {
                            "type": "boolean"
                        },
                        "AllowedOAuthScopes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AnalyticsConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration"
                        },
                        "CallbackURLs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ClientName": {
                            "type": "string"
                        },
                        "DefaultRedirectURI": {
                            "type": "string"
                        },
                        "ExplicitAuthFlows": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "GenerateSecret": {
                            "type": "boolean"
                        },
                        "IdTokenValidity": {
                            "type": "number"
                        },
                        "LogoutURLs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PreventUserExistenceErrors": {
                            "type": "string"
                        },
                        "ReadAttributes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "RefreshTokenValidity": {
                            "type": "number"
                        },
                        "SupportedIdentityProviders": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "TokenValidityUnits": {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolClient.TokenValidityUnits"
                        },
                        "UserPoolId": {
                            "type": "string"
                        },
                        "WriteAttributes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolClient"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ApplicationArn": {
                    "type": "string"
                },
                "ApplicationId": {
                    "type": "string"
                },
                "ExternalId": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "UserDataShared": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPoolClient.TokenValidityUnits": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "IdToken": {
                    "type": "string"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPoolDomain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CustomDomainConfig": {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType"
                        },
                        "Domain": {
                            "type": "string"
                        },
                        "UserPoolId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Domain",
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolDomain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPoolGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "GroupName": {
                            "type": "string"
                        },
                        "Precedence": {
                            "type": "number"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "UserPoolId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolIdentityProvider": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AttributeMapping": {
                            "type": "object"
                        },
                        "IdpIdentifiers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ProviderDetails": {
                            "type": "object"
                        },
                        "ProviderName": {
                            "type": "string"
                        },
                        "ProviderType": {
                            "type": "string"
                        },
                        "UserPoolId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ProviderName",
                        "ProviderType",
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolIdentityProvider"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolResourceServer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Identifier": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Scopes": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType"
                            },
                            "type": "array"
                        },
                        "UserPoolId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Identifier",
                        "Name",
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolResourceServer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": {
            "additionalProperties": false,
            "properties": {
                "ScopeDescription": {
                    "type": "string"
                },
                "ScopeName": {
                    "type": "string"
                }
            },
            "required": [
                "ScopeDescription",
                "ScopeName"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccountTakeoverRiskConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType"
                        },
                        "ClientId": {
                            "type": "string"
                        },
                        "CompromisedCredentialsRiskConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType"
                        },
                        "RiskExceptionConfiguration": {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType"
                        },
                        "UserPoolId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ClientId",
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolRiskConfigurationAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": {
            "additionalProperties": false,
            "properties": {
                "EventAction": {
                    "type": "string"
                },
                "Notify": {
                    "type": "boolean"
                }
            },
            "required": [
                "EventAction",
                "Notify"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": {
            "additionalProperties": false,
            "properties": {
                "HighAction": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType"
                },
                "LowAction": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType"
                },
                "MediumAction": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType"
                },
                "NotifyConfiguration": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType"
                }
            },
            "required": [
                "Actions"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": {
            "additionalProperties": false,
            "properties": {
                "EventAction": {
                    "type": "string"
                }
            },
            "required": [
                "EventAction"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType"
                },
                "EventFilter": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Actions"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": {
            "additionalProperties": false,
            "properties": {
                "BlockEmail": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType"
                },
                "From": {
                    "type": "string"
                },
                "MfaEmail": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType"
                },
                "NoActionEmail": {
                    "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType"
                },
                "ReplyTo": {
                    "type": "string"
                },
                "SourceArn": {
                    "type": "string"
                }
            },
            "required": [
                "SourceArn"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": {
            "additionalProperties": false,
            "properties": {
                "HtmlBody": {
                    "type": "string"
                },
                "Subject": {
                    "type": "string"
                },
                "TextBody": {
                    "type": "string"
                }
            },
            "required": [
                "Subject"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": {
            "additionalProperties": false,
            "properties": {
                "BlockedIPRangeList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SkippedIPRangeList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPoolUICustomizationAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CSS": {
                            "type": "string"
                        },
                        "ClientId": {
                            "type": "string"
                        },
                        "UserPoolId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ClientId",
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolUICustomizationAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolUser": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClientMetadata": {
                            "type": "object"
                        },
                        "DesiredDeliveryMediums": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ForceAliasCreation": {
                            "type": "boolean"
                        },
                        "MessageAction": {
                            "type": "string"
                        },
                        "UserAttributes": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType"
                            },
                            "type": "array"
                        },
                        "UserPoolId": {
                            "type": "string"
                        },
                        "Username": {
                            "type": "string"
                        },
                        "ValidationData": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "UserPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolUser"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::UserPoolUser.AttributeType": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPoolUserToGroupAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GroupName": {
                            "type": "string"
                        },
                        "UserPoolId": {
                            "type": "string"
                        },
                        "Username": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GroupName",
                        "UserPoolId",
                        "Username"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::UserPoolUserToGroupAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::AggregationAuthorization": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthorizedAccountId": {
                            "type": "string"
                        },
                        "AuthorizedAwsRegion": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AuthorizedAccountId",
                        "AuthorizedAwsRegion"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::AggregationAuthorization"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConfigRuleName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "InputParameters": {
                            "type": "object"
                        },
                        "MaximumExecutionFrequency": {
                            "type": "string"
                        },
                        "Scope": {
                            "$ref": "#/definitions/AWS::Config::ConfigRule.Scope"
                        },
                        "Source": {
                            "$ref": "#/definitions/AWS::Config::ConfigRule.Source"
                        }
                    },
                    "required": [
                        "Source"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::ConfigRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigRule.Scope": {
            "additionalProperties": false,
            "properties": {
                "ComplianceResourceId": {
                    "type": "string"
                },
                "ComplianceResourceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TagKey": {
                    "type": "string"
                },
                "TagValue": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Config::ConfigRule.Source": {
            "additionalProperties": false,
            "properties": {
                "Owner": {
                    "type": "string"
                },
                "SourceDetails": {
                    "items": {
                        "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail"
                    },
                    "type": "array"
                },
                "SourceIdentifier": {
                    "type": "string"
                }
            },
            "required": [
                "Owner",
                "SourceIdentifier"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigRule.SourceDetail": {
            "additionalProperties": false,
            "properties": {
                "EventSource": {
                    "type": "string"
                },
                "MaximumExecutionFrequency": {
                    "type": "string"
                },
                "MessageType": {
                    "type": "string"
                }
            },
            "required": [
                "EventSource",
                "MessageType"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigurationAggregator": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccountAggregationSources": {
                            "items": {
                                "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource"
                            },
                            "type": "array"
                        },
                        "ConfigurationAggregatorName": {
                            "type": "string"
                        },
                        "OrganizationAggregationSource": {
                            "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::ConfigurationAggregator"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigurationAggregator.AccountAggregationSource": {
            "additionalProperties": false,
            "properties": {
                "AccountIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllAwsRegions": {
                    "type": "boolean"
                },
                "AwsRegions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "AccountIds"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": {
            "additionalProperties": false,
            "properties": {
                "AllAwsRegions": {
                    "type": "boolean"
                },
                "AwsRegions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigurationRecorder": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "RecordingGroup": {
                            "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup"
                        },
                        "RoleARN": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RoleARN"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::ConfigurationRecorder"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigurationRecorder.RecordingGroup": {
            "additionalProperties": false,
            "properties": {
                "AllSupported": {
                    "type": "boolean"
                },
                "IncludeGlobalResourceTypes": {
                    "type": "boolean"
                },
                "ResourceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Config::ConformancePack": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConformancePackInputParameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter"
                            },
                            "type": "array"
                        },
                        "ConformancePackName": {
                            "type": "string"
                        },
                        "DeliveryS3Bucket": {
                            "type": "string"
                        },
                        "DeliveryS3KeyPrefix": {
                            "type": "string"
                        },
                        "TemplateBody": {
                            "type": "string"
                        },
                        "TemplateS3Uri": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConformancePackName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::ConformancePack"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::ConformancePack.ConformancePackInputParameter": {
            "additionalProperties": false,
            "properties": {
                "ParameterName": {
                    "type": "string"
                },
                "ParameterValue": {
                    "type": "string"
                }
            },
            "required": [
                "ParameterName",
                "ParameterValue"
            ],
            "type": "object"
        },
        "AWS::Config::DeliveryChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConfigSnapshotDeliveryProperties": {
                            "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "S3BucketName": {
                            "type": "string"
                        },
                        "S3KeyPrefix": {
                            "type": "string"
                        },
                        "S3KmsKeyArn": {
                            "type": "string"
                        },
                        "SnsTopicARN": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "S3BucketName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::DeliveryChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": {
            "additionalProperties": false,
            "properties": {
                "DeliveryFrequency": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Config::OrganizationConfigRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExcludedAccounts": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "OrganizationConfigRuleName": {
                            "type": "string"
                        },
                        "OrganizationCustomRuleMetadata": {
                            "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata"
                        },
                        "OrganizationManagedRuleMetadata": {
                            "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata"
                        }
                    },
                    "required": [
                        "OrganizationConfigRuleName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::OrganizationConfigRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "InputParameters": {
                    "type": "string"
                },
                "LambdaFunctionArn": {
                    "type": "string"
                },
                "MaximumExecutionFrequency": {
                    "type": "string"
                },
                "OrganizationConfigRuleTriggerTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ResourceIdScope": {
                    "type": "string"
                },
                "ResourceTypesScope": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TagKeyScope": {
                    "type": "string"
                },
                "TagValueScope": {
                    "type": "string"
                }
            },
            "required": [
                "LambdaFunctionArn",
                "OrganizationConfigRuleTriggerTypes"
            ],
            "type": "object"
        },
        "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "InputParameters": {
                    "type": "string"
                },
                "MaximumExecutionFrequency": {
                    "type": "string"
                },
                "ResourceIdScope": {
                    "type": "string"
                },
                "ResourceTypesScope": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RuleIdentifier": {
                    "type": "string"
                },
                "TagKeyScope": {
                    "type": "string"
                },
                "TagValueScope": {
                    "type": "string"
                }
            },
            "required": [
                "RuleIdentifier"
            ],
            "type": "object"
        },
        "AWS::Config::OrganizationConformancePack": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConformancePackInputParameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter"
                            },
                            "type": "array"
                        },
                        "DeliveryS3Bucket": {
                            "type": "string"
                        },
                        "DeliveryS3KeyPrefix": {
                            "type": "string"
                        },
                        "ExcludedAccounts": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "OrganizationConformancePackName": {
                            "type": "string"
                        },
                        "TemplateBody": {
                            "type": "string"
                        },
                        "TemplateS3Uri": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "OrganizationConformancePackName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::OrganizationConformancePack"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": {
            "additionalProperties": false,
            "properties": {
                "ParameterName": {
                    "type": "string"
                },
                "ParameterValue": {
                    "type": "string"
                }
            },
            "required": [
                "ParameterName",
                "ParameterValue"
            ],
            "type": "object"
        },
        "AWS::Config::RemediationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Automatic": {
                            "type": "boolean"
                        },
                        "ConfigRuleName": {
                            "type": "string"
                        },
                        "ExecutionControls": {
                            "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls"
                        },
                        "MaximumAutomaticAttempts": {
                            "type": "number"
                        },
                        "Parameters": {
                            "type": "object"
                        },
                        "ResourceType": {
                            "type": "string"
                        },
                        "RetryAttemptSeconds": {
                            "type": "number"
                        },
                        "TargetId": {
                            "type": "string"
                        },
                        "TargetType": {
                            "type": "string"
                        },
                        "TargetVersion": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConfigRuleName",
                        "TargetId",
                        "TargetType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::RemediationConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Config::RemediationConfiguration.ExecutionControls": {
            "additionalProperties": false,
            "properties": {
                "SsmControls": {
                    "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls"
                }
            },
            "type": "object"
        },
        "AWS::Config::RemediationConfiguration.RemediationParameterValue": {
            "additionalProperties": false,
            "properties": {
                "ResourceValue": {
                    "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue"
                },
                "StaticValue": {
                    "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue"
                }
            },
            "type": "object"
        },
        "AWS::Config::RemediationConfiguration.ResourceValue": {
            "additionalProperties": false,
            "properties": {
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Config::RemediationConfiguration.SsmControls": {
            "additionalProperties": false,
            "properties": {
                "ConcurrentExecutionRatePercentage": {
                    "type": "number"
                },
                "ErrorPercentage": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Config::RemediationConfiguration.StaticValue": {
            "additionalProperties": false,
            "properties": {
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Config::StoredQuery": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "QueryDescription": {
                            "type": "string"
                        },
                        "QueryExpression": {
                            "type": "string"
                        },
                        "QueryName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "QueryExpression",
                        "QueryName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Config::StoredQuery"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Domain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeadLetterQueueUrl": {
                            "type": "string"
                        },
                        "DefaultEncryptionKey": {
                            "type": "string"
                        },
                        "DefaultExpirationDays": {
                            "type": "number"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CustomerProfiles::Domain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DomainName": {
                            "type": "string"
                        },
                        "FlowDefinition": {
                            "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition"
                        },
                        "ObjectTypeName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Uri": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DomainName",
                        "ObjectTypeName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CustomerProfiles::Integration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.ConnectorOperator": {
            "additionalProperties": false,
            "properties": {
                "Marketo": {
                    "type": "string"
                },
                "S3": {
                    "type": "string"
                },
                "Salesforce": {
                    "type": "string"
                },
                "ServiceNow": {
                    "type": "string"
                },
                "Zendesk": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.FlowDefinition": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "FlowName": {
                    "type": "string"
                },
                "KmsArn": {
                    "type": "string"
                },
                "SourceFlowConfig": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig"
                },
                "Tasks": {
                    "items": {
                        "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task"
                    },
                    "type": "array"
                },
                "TriggerConfig": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig"
                }
            },
            "required": [
                "FlowName",
                "KmsArn",
                "SourceFlowConfig",
                "Tasks",
                "TriggerConfig"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.IncrementalPullConfig": {
            "additionalProperties": false,
            "properties": {
                "DatetimeTypeFieldName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.MarketoSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.S3SourceProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "EnableDynamicFieldUpdate": {
                    "type": "boolean"
                },
                "IncludeDeletedRecords": {
                    "type": "boolean"
                },
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": {
            "additionalProperties": false,
            "properties": {
                "DataPullMode": {
                    "type": "string"
                },
                "FirstExecutionFrom": {
                    "type": "number"
                },
                "ScheduleEndTime": {
                    "type": "number"
                },
                "ScheduleExpression": {
                    "type": "string"
                },
                "ScheduleOffset": {
                    "type": "number"
                },
                "ScheduleStartTime": {
                    "type": "number"
                },
                "Timezone": {
                    "type": "string"
                }
            },
            "required": [
                "ScheduleExpression"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.SourceConnectorProperties": {
            "additionalProperties": false,
            "properties": {
                "Marketo": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties"
                },
                "Salesforce": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties"
                },
                "ServiceNow": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties"
                },
                "Zendesk": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.SourceFlowConfig": {
            "additionalProperties": false,
            "properties": {
                "ConnectorProfileName": {
                    "type": "string"
                },
                "ConnectorType": {
                    "type": "string"
                },
                "IncrementalPullConfig": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig"
                },
                "SourceConnectorProperties": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties"
                }
            },
            "required": [
                "ConnectorType",
                "SourceConnectorProperties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.Task": {
            "additionalProperties": false,
            "properties": {
                "ConnectorOperator": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator"
                },
                "DestinationField": {
                    "type": "string"
                },
                "SourceFields": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TaskProperties": {
                    "items": {
                        "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap"
                    },
                    "type": "array"
                },
                "TaskType": {
                    "type": "string"
                }
            },
            "required": [
                "SourceFields",
                "TaskType"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.TaskPropertiesMap": {
            "additionalProperties": false,
            "properties": {
                "OperatorPropertyKey": {
                    "type": "string"
                },
                "Property": {
                    "type": "string"
                }
            },
            "required": [
                "OperatorPropertyKey",
                "Property"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.TriggerConfig": {
            "additionalProperties": false,
            "properties": {
                "TriggerProperties": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties"
                },
                "TriggerType": {
                    "type": "string"
                }
            },
            "required": [
                "TriggerType"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.TriggerProperties": {
            "additionalProperties": false,
            "properties": {
                "Scheduled": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::ObjectType": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowProfileCreation": {
                            "type": "boolean"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "EncryptionKey": {
                            "type": "string"
                        },
                        "ExpirationDays": {
                            "type": "number"
                        },
                        "Fields": {
                            "items": {
                                "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap"
                            },
                            "type": "array"
                        },
                        "Keys": {
                            "items": {
                                "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap"
                            },
                            "type": "array"
                        },
                        "ObjectTypeName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TemplateId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CustomerProfiles::ObjectType"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::ObjectType.FieldMap": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "ObjectTypeField": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::ObjectType.KeyMap": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "ObjectTypeKeyList": {
                    "items": {
                        "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::ObjectType.ObjectTypeField": {
            "additionalProperties": false,
            "properties": {
                "ContentType": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                },
                "Target": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": {
            "additionalProperties": false,
            "properties": {
                "FieldNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StandardIdentifiers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DAX::Cluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AvailabilityZones": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ClusterEndpointEncryptionType": {
                            "type": "string"
                        },
                        "ClusterName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "IAMRoleARN": {
                            "type": "string"
                        },
                        "NodeType": {
                            "type": "string"
                        },
                        "NotificationTopicARN": {
                            "type": "string"
                        },
                        "ParameterGroupName": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "ReplicationFactor": {
                            "type": "number"
                        },
                        "SSESpecification": {
                            "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetGroupName": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "IAMRoleARN",
                        "NodeType",
                        "ReplicationFactor"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DAX::Cluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DAX::Cluster.SSESpecification": {
            "additionalProperties": false,
            "properties": {
                "SSEEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DAX::ParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "ParameterGroupName": {
                            "type": "string"
                        },
                        "ParameterNameValues": {
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DAX::ParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DAX::SubnetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "SubnetGroupName": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DAX::SubnetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "PolicyDetails": {
                            "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DLM::LifecyclePolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.Action": {
            "additionalProperties": false,
            "properties": {
                "CrossRegionCopy": {
                    "items": {
                        "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "CrossRegionCopy",
                "Name"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.CreateRule": {
            "additionalProperties": false,
            "properties": {
                "CronExpression": {
                    "type": "string"
                },
                "Interval": {
                    "type": "number"
                },
                "IntervalUnit": {
                    "type": "string"
                },
                "Location": {
                    "type": "string"
                },
                "Times": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": {
            "additionalProperties": false,
            "properties": {
                "EncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration"
                },
                "RetainRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule"
                },
                "Target": {
                    "type": "string"
                }
            },
            "required": [
                "EncryptionConfiguration",
                "Target"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": {
            "additionalProperties": false,
            "properties": {
                "Interval": {
                    "type": "number"
                },
                "IntervalUnit": {
                    "type": "string"
                }
            },
            "required": [
                "Interval",
                "IntervalUnit"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": {
            "additionalProperties": false,
            "properties": {
                "CmkArn": {
                    "type": "string"
                },
                "CopyTags": {
                    "type": "boolean"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "RetainRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule"
                },
                "Target": {
                    "type": "string"
                },
                "TargetRegion": {
                    "type": "string"
                }
            },
            "required": [
                "Encrypted"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CmkArn": {
                    "type": "string"
                },
                "Encrypted": {
                    "type": "boolean"
                }
            },
            "required": [
                "Encrypted"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.EventParameters": {
            "additionalProperties": false,
            "properties": {
                "DescriptionRegex": {
                    "type": "string"
                },
                "EventType": {
                    "type": "string"
                },
                "SnapshotOwner": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "EventType",
                "SnapshotOwner"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.EventSource": {
            "additionalProperties": false,
            "properties": {
                "Parameters": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventParameters"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.FastRestoreRule": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZones": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Count": {
                    "type": "number"
                },
                "Interval": {
                    "type": "number"
                },
                "IntervalUnit": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.Parameters": {
            "additionalProperties": false,
            "properties": {
                "ExcludeBootVolume": {
                    "type": "boolean"
                },
                "NoReboot": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.PolicyDetails": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action"
                    },
                    "type": "array"
                },
                "EventSource": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource"
                },
                "Parameters": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters"
                },
                "PolicyType": {
                    "type": "string"
                },
                "ResourceLocations": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ResourceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Schedules": {
                    "items": {
                        "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule"
                    },
                    "type": "array"
                },
                "TargetTags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.RetainRule": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "number"
                },
                "Interval": {
                    "type": "number"
                },
                "IntervalUnit": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.Schedule": {
            "additionalProperties": false,
            "properties": {
                "CopyTags": {
                    "type": "boolean"
                },
                "CreateRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule"
                },
                "CrossRegionCopyRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule"
                    },
                    "type": "array"
                },
                "FastRestoreRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule"
                },
                "Name": {
                    "type": "string"
                },
                "RetainRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetainRule"
                },
                "ShareRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ShareRule"
                    },
                    "type": "array"
                },
                "TagsToAdd": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                },
                "VariableTags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.ShareRule": {
            "additionalProperties": false,
            "properties": {
                "TargetAccounts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "UnshareInterval": {
                    "type": "number"
                },
                "UnshareIntervalUnit": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Certificate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CertificateIdentifier": {
                            "type": "string"
                        },
                        "CertificatePem": {
                            "type": "string"
                        },
                        "CertificateWallet": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DMS::Certificate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DMS::Endpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CertificateArn": {
                            "type": "string"
                        },
                        "DatabaseName": {
                            "type": "string"
                        },
                        "DocDbSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings"
                        },
                        "DynamoDbSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings"
                        },
                        "ElasticsearchSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings"
                        },
                        "EndpointIdentifier": {
                            "type": "string"
                        },
                        "EndpointType": {
                            "type": "string"
                        },
                        "EngineName": {
                            "type": "string"
                        },
                        "ExtraConnectionAttributes": {
                            "type": "string"
                        },
                        "IbmDb2Settings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings"
                        },
                        "KafkaSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings"
                        },
                        "KinesisSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "MicrosoftSqlServerSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings"
                        },
                        "MongoDbSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings"
                        },
                        "MySqlSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings"
                        },
                        "NeptuneSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings"
                        },
                        "OracleSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings"
                        },
                        "Password": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "PostgreSqlSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings"
                        },
                        "RedshiftSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings"
                        },
                        "ResourceIdentifier": {
                            "type": "string"
                        },
                        "S3Settings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings"
                        },
                        "ServerName": {
                            "type": "string"
                        },
                        "SslMode": {
                            "type": "string"
                        },
                        "SybaseSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Username": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "EndpointType",
                        "EngineName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DMS::Endpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DMS::Endpoint.DocDbSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.DynamoDbSettings": {
            "additionalProperties": false,
            "properties": {
                "ServiceAccessRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.ElasticsearchSettings": {
            "additionalProperties": false,
            "properties": {
                "EndpointUri": {
                    "type": "string"
                },
                "ErrorRetryDuration": {
                    "type": "number"
                },
                "FullLoadErrorPercentage": {
                    "type": "number"
                },
                "ServiceAccessRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.IbmDb2Settings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.KafkaSettings": {
            "additionalProperties": false,
            "properties": {
                "Broker": {
                    "type": "string"
                },
                "Topic": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.KinesisSettings": {
            "additionalProperties": false,
            "properties": {
                "MessageFormat": {
                    "type": "string"
                },
                "ServiceAccessRoleArn": {
                    "type": "string"
                },
                "StreamArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.MongoDbSettings": {
            "additionalProperties": false,
            "properties": {
                "AuthMechanism": {
                    "type": "string"
                },
                "AuthSource": {
                    "type": "string"
                },
                "AuthType": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "DocsToInvestigate": {
                    "type": "string"
                },
                "ExtractDocId": {
                    "type": "string"
                },
                "NestingLevel": {
                    "type": "string"
                },
                "Password": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "ServerName": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.MySqlSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.NeptuneSettings": {
            "additionalProperties": false,
            "properties": {
                "ErrorRetryDuration": {
                    "type": "number"
                },
                "IamAuthEnabled": {
                    "type": "boolean"
                },
                "MaxFileSize": {
                    "type": "number"
                },
                "MaxRetryCount": {
                    "type": "number"
                },
                "S3BucketFolder": {
                    "type": "string"
                },
                "S3BucketName": {
                    "type": "string"
                },
                "ServiceAccessRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.OracleSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerOracleAsmAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerOracleAsmSecretId": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.PostgreSqlSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.RedshiftSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.S3Settings": {
            "additionalProperties": false,
            "properties": {
                "BucketFolder": {
                    "type": "string"
                },
                "BucketName": {
                    "type": "string"
                },
                "CompressionType": {
                    "type": "string"
                },
                "CsvDelimiter": {
                    "type": "string"
                },
                "CsvRowDelimiter": {
                    "type": "string"
                },
                "ExternalTableDefinition": {
                    "type": "string"
                },
                "ServiceAccessRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.SybaseSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::EventSubscription": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Enabled": {
                            "type": "boolean"
                        },
                        "EventCategories": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SnsTopicArn": {
                            "type": "string"
                        },
                        "SourceIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SourceType": {
                            "type": "string"
                        },
                        "SubscriptionName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SnsTopicArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DMS::EventSubscription"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DMS::ReplicationInstance": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllocatedStorage": {
                            "type": "number"
                        },
                        "AllowMajorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AutoMinorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "MultiAZ": {
                            "type": "boolean"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "PubliclyAccessible": {
                            "type": "boolean"
                        },
                        "ReplicationInstanceClass": {
                            "type": "string"
                        },
                        "ReplicationInstanceIdentifier": {
                            "type": "string"
                        },
                        "ReplicationSubnetGroupIdentifier": {
                            "type": "string"
                        },
                        "ResourceIdentifier": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ReplicationInstanceClass"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DMS::ReplicationInstance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DMS::ReplicationSubnetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ReplicationSubnetGroupDescription": {
                            "type": "string"
                        },
                        "ReplicationSubnetGroupIdentifier": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ReplicationSubnetGroupDescription",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DMS::ReplicationSubnetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DMS::ReplicationTask": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CdcStartPosition": {
                            "type": "string"
                        },
                        "CdcStartTime": {
                            "type": "number"
                        },
                        "CdcStopPosition": {
                            "type": "string"
                        },
                        "MigrationType": {
                            "type": "string"
                        },
                        "ReplicationInstanceArn": {
                            "type": "string"
                        },
                        "ReplicationTaskIdentifier": {
                            "type": "string"
                        },
                        "ReplicationTaskSettings": {
                            "type": "string"
                        },
                        "ResourceIdentifier": {
                            "type": "string"
                        },
                        "SourceEndpointArn": {
                            "type": "string"
                        },
                        "TableMappings": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetEndpointArn": {
                            "type": "string"
                        },
                        "TaskData": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MigrationType",
                        "ReplicationInstanceArn",
                        "SourceEndpointArn",
                        "TableMappings",
                        "TargetEndpointArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DMS::ReplicationTask"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Format": {
                            "type": "string"
                        },
                        "FormatOptions": {
                            "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions"
                        },
                        "Input": {
                            "$ref": "#/definitions/AWS::DataBrew::Dataset.Input"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "PathOptions": {
                            "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Input",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataBrew::Dataset"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset.CsvOptions": {
            "additionalProperties": false,
            "properties": {
                "Delimiter": {
                    "type": "string"
                },
                "HeaderRow": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.DataCatalogInputDefinition": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                },
                "TempDirectory": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.DatabaseInputDefinition": {
            "additionalProperties": false,
            "properties": {
                "DatabaseTableName": {
                    "type": "string"
                },
                "GlueConnectionName": {
                    "type": "string"
                },
                "TempDirectory": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.DatasetParameter": {
            "additionalProperties": false,
            "properties": {
                "CreateColumn": {
                    "type": "boolean"
                },
                "DatetimeOptions": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions"
                },
                "Filter": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression"
                },
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset.DatetimeOptions": {
            "additionalProperties": false,
            "properties": {
                "Format": {
                    "type": "string"
                },
                "LocaleCode": {
                    "type": "string"
                },
                "TimezoneOffset": {
                    "type": "string"
                }
            },
            "required": [
                "Format"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset.ExcelOptions": {
            "additionalProperties": false,
            "properties": {
                "HeaderRow": {
                    "type": "boolean"
                },
                "SheetIndexes": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "SheetNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.FilesLimit": {
            "additionalProperties": false,
            "properties": {
                "MaxFiles": {
                    "type": "number"
                },
                "Order": {
                    "type": "string"
                },
                "OrderedBy": {
                    "type": "string"
                }
            },
            "required": [
                "MaxFiles"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset.FilterExpression": {
            "additionalProperties": false,
            "properties": {
                "Expression": {
                    "type": "string"
                },
                "ValuesMap": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Expression",
                "ValuesMap"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset.FilterValue": {
            "additionalProperties": false,
            "properties": {
                "Value": {
                    "type": "string"
                },
                "ValueReference": {
                    "type": "string"
                }
            },
            "required": [
                "Value",
                "ValueReference"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset.FormatOptions": {
            "additionalProperties": false,
            "properties": {
                "Csv": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions"
                },
                "Excel": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions"
                },
                "Json": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.Input": {
            "additionalProperties": false,
            "properties": {
                "DataCatalogInputDefinition": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition"
                },
                "DatabaseInputDefinition": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition"
                },
                "S3InputDefinition": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.JsonOptions": {
            "additionalProperties": false,
            "properties": {
                "MultiLine": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.PathOptions": {
            "additionalProperties": false,
            "properties": {
                "FilesLimit": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit"
                },
                "LastModifiedDateCondition": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression"
                },
                "Parameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.PathParameter": {
            "additionalProperties": false,
            "properties": {
                "DatasetParameter": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter"
                },
                "PathParameterName": {
                    "type": "string"
                }
            },
            "required": [
                "DatasetParameter",
                "PathParameterName"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Dataset.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DatasetName": {
                            "type": "string"
                        },
                        "EncryptionKeyArn": {
                            "type": "string"
                        },
                        "EncryptionMode": {
                            "type": "string"
                        },
                        "JobSample": {
                            "$ref": "#/definitions/AWS::DataBrew::Job.JobSample"
                        },
                        "LogSubscription": {
                            "type": "string"
                        },
                        "MaxCapacity": {
                            "type": "number"
                        },
                        "MaxRetries": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OutputLocation": {
                            "$ref": "#/definitions/AWS::DataBrew::Job.OutputLocation"
                        },
                        "Outputs": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataBrew::Job.Output"
                            },
                            "type": "array"
                        },
                        "ProjectName": {
                            "type": "string"
                        },
                        "Recipe": {
                            "type": "object"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Timeout": {
                            "type": "number"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "RoleArn",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataBrew::Job"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.CsvOutputOptions": {
            "additionalProperties": false,
            "properties": {
                "Delimiter": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Job.JobSample": {
            "additionalProperties": false,
            "properties": {
                "Mode": {
                    "type": "string"
                },
                "Size": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Job.Output": {
            "additionalProperties": false,
            "properties": {
                "CompressionFormat": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                },
                "FormatOptions": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions"
                },
                "Location": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.S3Location"
                },
                "Overwrite": {
                    "type": "boolean"
                },
                "PartitionColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Location"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.OutputFormatOptions": {
            "additionalProperties": false,
            "properties": {
                "Csv": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Job.OutputLocation": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.Recipe": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Project": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DatasetName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RecipeName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Sample": {
                            "$ref": "#/definitions/AWS::DataBrew::Project.Sample"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DatasetName",
                        "Name",
                        "RecipeName",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataBrew::Project"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Project.Sample": {
            "additionalProperties": false,
            "properties": {
                "Size": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Recipe": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Steps": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "Steps"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataBrew::Recipe"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Recipe.Action": {
            "additionalProperties": false,
            "properties": {
                "Operation": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                }
            },
            "required": [
                "Operation"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Recipe.ConditionExpression": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "TargetColumn": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Condition",
                "TargetColumn"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Recipe.DataCatalogInputDefinition": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                },
                "TempDirectory": {
                    "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Recipe.RecipeParameters": {
            "additionalProperties": false,
            "properties": {
                "AggregateFunction": {
                    "type": "string"
                },
                "Base": {
                    "type": "string"
                },
                "CaseStatement": {
                    "type": "string"
                },
                "CategoryMap": {
                    "type": "string"
                },
                "CharsToRemove": {
                    "type": "string"
                },
                "CollapseConsecutiveWhitespace": {
                    "type": "string"
                },
                "ColumnDataType": {
                    "type": "string"
                },
                "ColumnRange": {
                    "type": "string"
                },
                "Count": {
                    "type": "string"
                },
                "CustomCharacters": {
                    "type": "string"
                },
                "CustomStopWords": {
                    "type": "string"
                },
                "CustomValue": {
                    "type": "string"
                },
                "DatasetsColumns": {
                    "type": "string"
                },
                "DateAddValue": {
                    "type": "string"
                },
                "DateTimeFormat": {
                    "type": "string"
                },
                "DateTimeParameters": {
                    "type": "string"
                },
                "DeleteOtherRows": {
                    "type": "string"
                },
                "Delimiter": {
                    "type": "string"
                },
                "EndPattern": {
                    "type": "string"
                },
                "EndPosition": {
                    "type": "string"
                },
                "EndValue": {
                    "type": "string"
                },
                "ExpandContractions": {
                    "type": "string"
                },
                "Exponent": {
                    "type": "string"
                },
                "FalseString": {
                    "type": "string"
                },
                "GroupByAggFunctionOptions": {
                    "type": "string"
                },
                "GroupByColumns": {
                    "type": "string"
                },
                "HiddenColumns": {
                    "type": "string"
                },
                "IgnoreCase": {
                    "type": "string"
                },
                "IncludeInSplit": {
                    "type": "string"
                },
                "Input": {
                    "type": "object"
                },
                "Interval": {
                    "type": "string"
                },
                "IsText": {
                    "type": "string"
                },
                "JoinKeys": {
                    "type": "string"
                },
                "JoinType": {
                    "type": "string"
                },
                "LeftColumns": {
                    "type": "string"
                },
                "Limit": {
                    "type": "string"
                },
                "LowerBound": {
                    "type": "string"
                },
                "MapType": {
                    "type": "string"
                },
                "ModeType": {
                    "type": "string"
                },
                "MultiLine": {
                    "type": "boolean"
                },
                "NumRows": {
                    "type": "string"
                },
                "NumRowsAfter": {
                    "type": "string"
                },
                "NumRowsBefore": {
                    "type": "string"
                },
                "OrderByColumn": {
                    "type": "string"
                },
                "OrderByColumns": {
                    "type": "string"
                },
                "Other": {
                    "type": "string"
                },
                "Pattern": {
                    "type": "string"
                },
                "PatternOption1": {
                    "type": "string"
                },
                "PatternOption2": {
                    "type": "string"
                },
                "PatternOptions": {
                    "type": "string"
                },
                "Period": {
                    "type": "string"
                },
                "Position": {
                    "type": "string"
                },
                "RemoveAllPunctuation": {
                    "type": "string"
                },
                "RemoveAllQuotes": {
                    "type": "string"
                },
                "RemoveAllWhitespace": {
                    "type": "string"
                },
                "RemoveCustomCharacters": {
                    "type": "string"
                },
                "RemoveCustomValue": {
                    "type": "string"
                },
                "RemoveLeadingAndTrailingPunctuation": {
                    "type": "string"
                },
                "RemoveLeadingAndTrailingQuotes": {
                    "type": "string"
                },
                "RemoveLeadingAndTrailingWhitespace": {
                    "type": "string"
                },
                "RemoveLetters": {
                    "type": "string"
                },
                "RemoveNumbers": {
                    "type": "string"
                },
                "RemoveSourceColumn": {
                    "type": "string"
                },
                "RemoveSpecialCharacters": {
                    "type": "string"
                },
                "RightColumns": {
                    "type": "string"
                },
                "SampleSize": {
                    "type": "string"
                },
                "SampleType": {
                    "type": "string"
                },
                "SecondInput": {
                    "type": "string"
                },
                "SecondaryInputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput"
                    },
                    "type": "array"
                },
                "SheetIndexes": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "SheetNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SourceColumn": {
                    "type": "string"
                },
                "SourceColumn1": {
                    "type": "string"
                },
                "SourceColumn2": {
                    "type": "string"
                },
                "SourceColumns": {
                    "type": "string"
                },
                "StartColumnIndex": {
                    "type": "string"
                },
                "StartPattern": {
                    "type": "string"
                },
                "StartPosition": {
                    "type": "string"
                },
                "StartValue": {
                    "type": "string"
                },
                "StemmingMode": {
                    "type": "string"
                },
                "StepCount": {
                    "type": "string"
                },
                "StepIndex": {
                    "type": "string"
                },
                "StopWordsMode": {
                    "type": "string"
                },
                "Strategy": {
                    "type": "string"
                },
                "TargetColumn": {
                    "type": "string"
                },
                "TargetColumnNames": {
                    "type": "string"
                },
                "TargetDateFormat": {
                    "type": "string"
                },
                "TargetIndex": {
                    "type": "string"
                },
                "TimeZone": {
                    "type": "string"
                },
                "TokenizerPattern": {
                    "type": "string"
                },
                "TrueString": {
                    "type": "string"
                },
                "UdfLang": {
                    "type": "string"
                },
                "Units": {
                    "type": "string"
                },
                "UnpivotColumn": {
                    "type": "string"
                },
                "UpperBound": {
                    "type": "string"
                },
                "UseNewDataFrame": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                },
                "Value1": {
                    "type": "string"
                },
                "Value2": {
                    "type": "string"
                },
                "ValueColumn": {
                    "type": "string"
                },
                "ViewFrame": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Recipe.RecipeStep": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::DataBrew::Recipe.Action"
                },
                "ConditionExpressions": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Action"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Recipe.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Recipe.SecondaryInput": {
            "additionalProperties": false,
            "properties": {
                "DataCatalogInputDefinition": {
                    "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition"
                },
                "S3InputDefinition": {
                    "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Schedule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CronExpression": {
                            "type": "string"
                        },
                        "JobNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CronExpression",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataBrew::Schedule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataPipeline::Pipeline": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Activate": {
                            "type": "boolean"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ParameterObjects": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject"
                            },
                            "type": "array"
                        },
                        "ParameterValues": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue"
                            },
                            "type": "array"
                        },
                        "PipelineObjects": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject"
                            },
                            "type": "array"
                        },
                        "PipelineTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "ParameterObjects"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataPipeline::Pipeline"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataPipeline::Pipeline.Field": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "RefValue": {
                    "type": "string"
                },
                "StringValue": {
                    "type": "string"
                }
            },
            "required": [
                "Key"
            ],
            "type": "object"
        },
        "AWS::DataPipeline::Pipeline.ParameterAttribute": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "StringValue": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "StringValue"
            ],
            "type": "object"
        },
        "AWS::DataPipeline::Pipeline.ParameterObject": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute"
                    },
                    "type": "array"
                },
                "Id": {
                    "type": "string"
                }
            },
            "required": [
                "Attributes",
                "Id"
            ],
            "type": "object"
        },
        "AWS::DataPipeline::Pipeline.ParameterValue": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "StringValue": {
                    "type": "string"
                }
            },
            "required": [
                "Id",
                "StringValue"
            ],
            "type": "object"
        },
        "AWS::DataPipeline::Pipeline.PipelineObject": {
            "additionalProperties": false,
            "properties": {
                "Fields": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field"
                    },
                    "type": "array"
                },
                "Id": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Fields",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "AWS::DataPipeline::Pipeline.PipelineTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::DataSync::Agent": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ActivationKey": {
                            "type": "string"
                        },
                        "AgentName": {
                            "type": "string"
                        },
                        "SecurityGroupArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcEndpointId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ActivationKey"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::Agent"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationEFS": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Ec2Config": {
                            "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config"
                        },
                        "EfsFilesystemArn": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Ec2Config",
                        "EfsFilesystemArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationEFS"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationEFS.Ec2Config": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetArn": {
                    "type": "string"
                }
            },
            "required": [
                "SecurityGroupArns",
                "SubnetArn"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationFSxWindows": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Domain": {
                            "type": "string"
                        },
                        "FsxFilesystemArn": {
                            "type": "string"
                        },
                        "Password": {
                            "type": "string"
                        },
                        "SecurityGroupArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "User": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FsxFilesystemArn",
                        "Password",
                        "SecurityGroupArns",
                        "User"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationFSxWindows"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationNFS": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MountOptions": {
                            "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions"
                        },
                        "OnPremConfig": {
                            "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig"
                        },
                        "ServerHostname": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "OnPremConfig",
                        "ServerHostname",
                        "Subdirectory"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationNFS"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationNFS.MountOptions": {
            "additionalProperties": false,
            "properties": {
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::LocationNFS.OnPremConfig": {
            "additionalProperties": false,
            "properties": {
                "AgentArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "AgentArns"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationObjectStorage": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessKey": {
                            "type": "string"
                        },
                        "AgentArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "BucketName": {
                            "type": "string"
                        },
                        "SecretKey": {
                            "type": "string"
                        },
                        "ServerHostname": {
                            "type": "string"
                        },
                        "ServerPort": {
                            "type": "number"
                        },
                        "ServerProtocol": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AgentArns",
                        "BucketName",
                        "ServerHostname"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationObjectStorage"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationS3": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "S3BucketArn": {
                            "type": "string"
                        },
                        "S3Config": {
                            "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config"
                        },
                        "S3StorageClass": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "S3BucketArn",
                        "S3Config"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationS3"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationS3.S3Config": {
            "additionalProperties": false,
            "properties": {
                "BucketAccessRoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "BucketAccessRoleArn"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationSMB": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AgentArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Domain": {
                            "type": "string"
                        },
                        "MountOptions": {
                            "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions"
                        },
                        "Password": {
                            "type": "string"
                        },
                        "ServerHostname": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "User": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AgentArns",
                        "Password",
                        "ServerHostname",
                        "Subdirectory",
                        "User"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationSMB"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationSMB.MountOptions": {
            "additionalProperties": false,
            "properties": {
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::Task": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CloudWatchLogGroupArn": {
                            "type": "string"
                        },
                        "DestinationLocationArn": {
                            "type": "string"
                        },
                        "Excludes": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataSync::Task.FilterRule"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Options": {
                            "$ref": "#/definitions/AWS::DataSync::Task.Options"
                        },
                        "Schedule": {
                            "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule"
                        },
                        "SourceLocationArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DestinationLocationArn",
                        "SourceLocationArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::Task"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::Task.FilterRule": {
            "additionalProperties": false,
            "properties": {
                "FilterType": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::Task.Options": {
            "additionalProperties": false,
            "properties": {
                "Atime": {
                    "type": "string"
                },
                "BytesPerSecond": {
                    "type": "number"
                },
                "Gid": {
                    "type": "string"
                },
                "LogLevel": {
                    "type": "string"
                },
                "Mtime": {
                    "type": "string"
                },
                "OverwriteMode": {
                    "type": "string"
                },
                "PosixPermissions": {
                    "type": "string"
                },
                "PreserveDeletedFiles": {
                    "type": "string"
                },
                "PreserveDevices": {
                    "type": "string"
                },
                "TaskQueueing": {
                    "type": "string"
                },
                "TransferMode": {
                    "type": "string"
                },
                "Uid": {
                    "type": "string"
                },
                "VerifyMode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::Task.TaskSchedule": {
            "additionalProperties": false,
            "properties": {
                "ScheduleExpression": {
                    "type": "string"
                }
            },
            "required": [
                "ScheduleExpression"
            ],
            "type": "object"
        },
        "AWS::Detective::Graph": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Detective::Graph"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Detective::MemberInvitation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DisableEmailNotification": {
                            "type": "boolean"
                        },
                        "GraphArn": {
                            "type": "string"
                        },
                        "MemberEmailAddress": {
                            "type": "string"
                        },
                        "MemberId": {
                            "type": "string"
                        },
                        "Message": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GraphArn",
                        "MemberEmailAddress",
                        "MemberId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Detective::MemberInvitation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DevOpsGuru::NotificationChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Config": {
                            "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig"
                        }
                    },
                    "required": [
                        "Config"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DevOpsGuru::NotificationChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": {
            "additionalProperties": false,
            "properties": {
                "Sns": {
                    "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig"
                }
            },
            "type": "object"
        },
        "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": {
            "additionalProperties": false,
            "properties": {
                "TopicArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DevOpsGuru::ResourceCollection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceCollectionFilter": {
                            "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter"
                        }
                    },
                    "required": [
                        "ResourceCollectionFilter"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DevOpsGuru::ResourceCollection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": {
            "additionalProperties": false,
            "properties": {
                "StackNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": {
            "additionalProperties": false,
            "properties": {
                "CloudFormation": {
                    "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter"
                }
            },
            "type": "object"
        },
        "AWS::DirectoryService::MicrosoftAD": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CreateAlias": {
                            "type": "boolean"
                        },
                        "Edition": {
                            "type": "string"
                        },
                        "EnableSso": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Password": {
                            "type": "string"
                        },
                        "ShortName": {
                            "type": "string"
                        },
                        "VpcSettings": {
                            "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings"
                        }
                    },
                    "required": [
                        "Name",
                        "Password",
                        "VpcSettings"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DirectoryService::MicrosoftAD"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DirectoryService::MicrosoftAD.VpcSettings": {
            "additionalProperties": false,
            "properties": {
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "VpcId": {
                    "type": "string"
                }
            },
            "required": [
                "SubnetIds",
                "VpcId"
            ],
            "type": "object"
        },
        "AWS::DirectoryService::SimpleAD": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CreateAlias": {
                            "type": "boolean"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EnableSso": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Password": {
                            "type": "string"
                        },
                        "ShortName": {
                            "type": "string"
                        },
                        "Size": {
                            "type": "string"
                        },
                        "VpcSettings": {
                            "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings"
                        }
                    },
                    "required": [
                        "Name",
                        "Password",
                        "Size",
                        "VpcSettings"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DirectoryService::SimpleAD"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DirectoryService::SimpleAD.VpcSettings": {
            "additionalProperties": false,
            "properties": {
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "VpcId": {
                    "type": "string"
                }
            },
            "required": [
                "SubnetIds",
                "VpcId"
            ],
            "type": "object"
        },
        "AWS::DocDB::DBCluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AvailabilityZones": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "BackupRetentionPeriod": {
                            "type": "number"
                        },
                        "DBClusterIdentifier": {
                            "type": "string"
                        },
                        "DBClusterParameterGroupName": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "DeletionProtection": {
                            "type": "boolean"
                        },
                        "EnableCloudwatchLogsExports": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "MasterUserPassword": {
                            "type": "string"
                        },
                        "MasterUsername": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "PreferredBackupWindow": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "SnapshotIdentifier": {
                            "type": "string"
                        },
                        "StorageEncrypted": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "MasterUserPassword",
                        "MasterUsername"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DocDB::DBCluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DocDB::DBClusterParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Family": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "Family",
                        "Parameters"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DocDB::DBClusterParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DocDB::DBInstance": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoMinorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "DBClusterIdentifier": {
                            "type": "string"
                        },
                        "DBInstanceClass": {
                            "type": "string"
                        },
                        "DBInstanceIdentifier": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBClusterIdentifier",
                        "DBInstanceClass"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DocDB::DBInstance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DocDB::DBSubnetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DBSubnetGroupDescription": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBSubnetGroupDescription",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DocDB::DBSubnetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AttributeDefinitions": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition"
                            },
                            "type": "array"
                        },
                        "BillingMode": {
                            "type": "string"
                        },
                        "GlobalSecondaryIndexes": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex"
                            },
                            "type": "array"
                        },
                        "KeySchema": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema"
                            },
                            "type": "array"
                        },
                        "LocalSecondaryIndexes": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex"
                            },
                            "type": "array"
                        },
                        "Replicas": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification"
                            },
                            "type": "array"
                        },
                        "SSESpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification"
                        },
                        "StreamSpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification"
                        },
                        "TableName": {
                            "type": "string"
                        },
                        "TimeToLiveSpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification"
                        },
                        "WriteProvisionedThroughputSettings": {
                            "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings"
                        }
                    },
                    "required": [
                        "AttributeDefinitions",
                        "KeySchema",
                        "Replicas"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DynamoDB::GlobalTable"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.AttributeDefinition": {
            "additionalProperties": false,
            "properties": {
                "AttributeName": {
                    "type": "string"
                },
                "AttributeType": {
                    "type": "string"
                }
            },
            "required": [
                "AttributeName",
                "AttributeType"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": {
            "additionalProperties": false,
            "properties": {
                "MaxCapacity": {
                    "type": "number"
                },
                "MinCapacity": {
                    "type": "number"
                },
                "SeedCapacity": {
                    "type": "number"
                },
                "TargetTrackingScalingPolicyConfiguration": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration"
                }
            },
            "required": [
                "MaxCapacity",
                "MinCapacity",
                "TargetTrackingScalingPolicyConfiguration"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": {
            "additionalProperties": false,
            "properties": {
                "IndexName": {
                    "type": "string"
                },
                "KeySchema": {
                    "items": {
                        "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema"
                    },
                    "type": "array"
                },
                "Projection": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection"
                },
                "WriteProvisionedThroughputSettings": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings"
                }
            },
            "required": [
                "IndexName",
                "KeySchema",
                "Projection"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.KeySchema": {
            "additionalProperties": false,
            "properties": {
                "AttributeName": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                }
            },
            "required": [
                "AttributeName",
                "KeyType"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": {
            "additionalProperties": false,
            "properties": {
                "IndexName": {
                    "type": "string"
                },
                "KeySchema": {
                    "items": {
                        "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema"
                    },
                    "type": "array"
                },
                "Projection": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection"
                }
            },
            "required": [
                "IndexName",
                "KeySchema",
                "Projection"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": {
            "additionalProperties": false,
            "properties": {
                "PointInTimeRecoveryEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.Projection": {
            "additionalProperties": false,
            "properties": {
                "NonKeyAttributes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ProjectionType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": {
            "additionalProperties": false,
            "properties": {
                "ReadCapacityAutoScalingSettings": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings"
                },
                "ReadCapacityUnits": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": {
            "additionalProperties": false,
            "properties": {
                "ContributorInsightsSpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification"
                },
                "IndexName": {
                    "type": "string"
                },
                "ReadProvisionedThroughputSettings": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings"
                }
            },
            "required": [
                "IndexName"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": {
            "additionalProperties": false,
            "properties": {
                "KMSMasterKeyId": {
                    "type": "string"
                }
            },
            "required": [
                "KMSMasterKeyId"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.ReplicaSpecification": {
            "additionalProperties": false,
            "properties": {
                "ContributorInsightsSpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification"
                },
                "GlobalSecondaryIndexes": {
                    "items": {
                        "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification"
                    },
                    "type": "array"
                },
                "PointInTimeRecoverySpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification"
                },
                "ReadProvisionedThroughputSettings": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings"
                },
                "Region": {
                    "type": "string"
                },
                "SSESpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Region"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.SSESpecification": {
            "additionalProperties": false,
            "properties": {
                "SSEEnabled": {
                    "type": "boolean"
                },
                "SSEType": {
                    "type": "string"
                }
            },
            "required": [
                "SSEEnabled"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.StreamSpecification": {
            "additionalProperties": false,
            "properties": {
                "StreamViewType": {
                    "type": "string"
                }
            },
            "required": [
                "StreamViewType"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DisableScaleIn": {
                    "type": "boolean"
                },
                "ScaleInCooldown": {
                    "type": "number"
                },
                "ScaleOutCooldown": {
                    "type": "number"
                },
                "TargetValue": {
                    "type": "number"
                }
            },
            "required": [
                "TargetValue"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": {
            "additionalProperties": false,
            "properties": {
                "AttributeName": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": {
            "additionalProperties": false,
            "properties": {
                "WriteCapacityAutoScalingSettings": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings"
                }
            },
            "type": "object"
        },
        "AWS::DynamoDB::Table": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AttributeDefinitions": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition"
                            },
                            "type": "array"
                        },
                        "BillingMode": {
                            "type": "string"
                        },
                        "ContributorInsightsSpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification"
                        },
                        "GlobalSecondaryIndexes": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex"
                            },
                            "type": "array"
                        },
                        "KeySchema": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema"
                            },
                            "type": "array"
                        },
                        "KinesisStreamSpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification"
                        },
                        "LocalSecondaryIndexes": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex"
                            },
                            "type": "array"
                        },
                        "PointInTimeRecoverySpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification"
                        },
                        "ProvisionedThroughput": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput"
                        },
                        "SSESpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification"
                        },
                        "StreamSpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification"
                        },
                        "TableName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TimeToLiveSpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification"
                        }
                    },
                    "required": [
                        "KeySchema"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DynamoDB::Table"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.AttributeDefinition": {
            "additionalProperties": false,
            "properties": {
                "AttributeName": {
                    "type": "string"
                },
                "AttributeType": {
                    "type": "string"
                }
            },
            "required": [
                "AttributeName",
                "AttributeType"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.ContributorInsightsSpecification": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.GlobalSecondaryIndex": {
            "additionalProperties": false,
            "properties": {
                "ContributorInsightsSpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification"
                },
                "IndexName": {
                    "type": "string"
                },
                "KeySchema": {
                    "items": {
                        "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema"
                    },
                    "type": "array"
                },
                "Projection": {
                    "$ref": "#/definitions/AWS::DynamoDB::Table.Projection"
                },
                "ProvisionedThroughput": {
                    "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput"
                }
            },
            "required": [
                "IndexName",
                "KeySchema",
                "Projection"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.KeySchema": {
            "additionalProperties": false,
            "properties": {
                "AttributeName": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                }
            },
            "required": [
                "AttributeName",
                "KeyType"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.KinesisStreamSpecification": {
            "additionalProperties": false,
            "properties": {
                "StreamArn": {
                    "type": "string"
                }
            },
            "required": [
                "StreamArn"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.LocalSecondaryIndex": {
            "additionalProperties": false,
            "properties": {
                "IndexName": {
                    "type": "string"
                },
                "KeySchema": {
                    "items": {
                        "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema"
                    },
                    "type": "array"
                },
                "Projection": {
                    "$ref": "#/definitions/AWS::DynamoDB::Table.Projection"
                }
            },
            "required": [
                "IndexName",
                "KeySchema",
                "Projection"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": {
            "additionalProperties": false,
            "properties": {
                "PointInTimeRecoveryEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DynamoDB::Table.Projection": {
            "additionalProperties": false,
            "properties": {
                "NonKeyAttributes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ProjectionType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DynamoDB::Table.ProvisionedThroughput": {
            "additionalProperties": false,
            "properties": {
                "ReadCapacityUnits": {
                    "type": "number"
                },
                "WriteCapacityUnits": {
                    "type": "number"
                }
            },
            "required": [
                "ReadCapacityUnits",
                "WriteCapacityUnits"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.SSESpecification": {
            "additionalProperties": false,
            "properties": {
                "KMSMasterKeyId": {
                    "type": "string"
                },
                "SSEEnabled": {
                    "type": "boolean"
                },
                "SSEType": {
                    "type": "string"
                }
            },
            "required": [
                "SSEEnabled"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.StreamSpecification": {
            "additionalProperties": false,
            "properties": {
                "StreamViewType": {
                    "type": "string"
                }
            },
            "required": [
                "StreamViewType"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.TimeToLiveSpecification": {
            "additionalProperties": false,
            "properties": {
                "AttributeName": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "AttributeName",
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::EC2::CapacityReservation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "EbsOptimized": {
                            "type": "boolean"
                        },
                        "EndDate": {
                            "type": "string"
                        },
                        "EndDateType": {
                            "type": "string"
                        },
                        "EphemeralStorage": {
                            "type": "boolean"
                        },
                        "InstanceCount": {
                            "type": "number"
                        },
                        "InstanceMatchCriteria": {
                            "type": "string"
                        },
                        "InstancePlatform": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "TagSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification"
                            },
                            "type": "array"
                        },
                        "Tenancy": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AvailabilityZone",
                        "InstanceCount",
                        "InstancePlatform",
                        "InstanceType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::CapacityReservation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::CapacityReservation.TagSpecification": {
            "additionalProperties": false,
            "properties": {
                "ResourceType": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::CarrierGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::CarrierGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnAuthorizationRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessGroupId": {
                            "type": "string"
                        },
                        "AuthorizeAllGroups": {
                            "type": "boolean"
                        },
                        "ClientVpnEndpointId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "TargetNetworkCidr": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ClientVpnEndpointId",
                        "TargetNetworkCidr"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::ClientVpnAuthorizationRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthenticationOptions": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest"
                            },
                            "type": "array"
                        },
                        "ClientCidrBlock": {
                            "type": "string"
                        },
                        "ClientConnectOptions": {
                            "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions"
                        },
                        "ConnectionLogOptions": {
                            "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DnsServers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SelfServicePortal": {
                            "type": "string"
                        },
                        "ServerCertificateArn": {
                            "type": "string"
                        },
                        "SplitTunnel": {
                            "type": "boolean"
                        },
                        "TagSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification"
                            },
                            "type": "array"
                        },
                        "TransportProtocol": {
                            "type": "string"
                        },
                        "VpcId": {
                            "type": "string"
                        },
                        "VpnPort": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "AuthenticationOptions",
                        "ClientCidrBlock",
                        "ConnectionLogOptions",
                        "ServerCertificateArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::ClientVpnEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": {
            "additionalProperties": false,
            "properties": {
                "ClientRootCertificateChainArn": {
                    "type": "string"
                }
            },
            "required": [
                "ClientRootCertificateChainArn"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": {
            "additionalProperties": false,
            "properties": {
                "ActiveDirectory": {
                    "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest"
                },
                "FederatedAuthentication": {
                    "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest"
                },
                "MutualAuthentication": {
                    "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "LambdaFunctionArn": {
                    "type": "string"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": {
            "additionalProperties": false,
            "properties": {
                "CloudwatchLogGroup": {
                    "type": "string"
                },
                "CloudwatchLogStream": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": {
            "additionalProperties": false,
            "properties": {
                "DirectoryId": {
                    "type": "string"
                }
            },
            "required": [
                "DirectoryId"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": {
            "additionalProperties": false,
            "properties": {
                "SAMLProviderArn": {
                    "type": "string"
                },
                "SelfServiceSAMLProviderArn": {
                    "type": "string"
                }
            },
            "required": [
                "SAMLProviderArn"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnEndpoint.TagSpecification": {
            "additionalProperties": false,
            "properties": {
                "ResourceType": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ResourceType",
                "Tags"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnRoute": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClientVpnEndpointId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DestinationCidrBlock": {
                            "type": "string"
                        },
                        "TargetVpcSubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ClientVpnEndpointId",
                        "DestinationCidrBlock",
                        "TargetVpcSubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::ClientVpnRoute"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::ClientVpnTargetNetworkAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClientVpnEndpointId": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ClientVpnEndpointId",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::ClientVpnTargetNetworkAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::CustomerGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BgpAsn": {
                            "type": "number"
                        },
                        "IpAddress": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "BgpAsn",
                        "IpAddress",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::CustomerGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::DHCPOptions": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DomainName": {
                            "type": "string"
                        },
                        "DomainNameServers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "NetbiosNameServers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "NetbiosNodeType": {
                            "type": "number"
                        },
                        "NtpServers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::DHCPOptions"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::EC2Fleet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExcessCapacityTerminationPolicy": {
                            "type": "string"
                        },
                        "LaunchTemplateConfigs": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest"
                            },
                            "type": "array"
                        },
                        "OnDemandOptions": {
                            "$ref": "#/definitions/AWS::EC2::EC2Fleet.OnDemandOptionsRequest"
                        },
                        "ReplaceUnhealthyInstances": {
                            "type": "boolean"
                        },
                        "SpotOptions": {
                            "$ref": "#/definitions/AWS::EC2::EC2Fleet.SpotOptionsRequest"
                        },
                        "TagSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::EC2Fleet.TagSpecification"
                            },
                            "type": "array"
                        },
                        "TargetCapacitySpecification": {
                            "$ref": "#/definitions/AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest"
                        },
                        "TerminateInstancesWithExpiration": {
                            "type": "boolean"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "ValidFrom": {
                            "type": "string"
                        },
                        "ValidUntil": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "LaunchTemplateConfigs",
                        "TargetCapacitySpecification"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::EC2Fleet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest": {
            "additionalProperties": false,
            "properties": {
                "UsageStrategy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateSpecification": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest"
                },
                "Overrides": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "InstanceType": {
                    "type": "string"
                },
                "MaxPrice": {
                    "type": "string"
                },
                "Placement": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement"
                },
                "Priority": {
                    "type": "number"
                },
                "SubnetId": {
                    "type": "string"
                },
                "WeightedCapacity": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateId": {
                    "type": "string"
                },
                "LaunchTemplateName": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                },
                "CapacityReservationOptions": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest"
                },
                "MaxTotalPrice": {
                    "type": "string"
                },
                "MinTargetCapacity": {
                    "type": "number"
                },
                "SingleAvailabilityZone": {
                    "type": "boolean"
                },
                "SingleInstanceType": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.Placement": {
            "additionalProperties": false,
            "properties": {
                "Affinity": {
                    "type": "string"
                },
                "AvailabilityZone": {
                    "type": "string"
                },
                "GroupName": {
                    "type": "string"
                },
                "HostId": {
                    "type": "string"
                },
                "HostResourceGroupArn": {
                    "type": "string"
                },
                "PartitionNumber": {
                    "type": "number"
                },
                "SpreadDomain": {
                    "type": "string"
                },
                "Tenancy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.SpotOptionsRequest": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                },
                "InstanceInterruptionBehavior": {
                    "type": "string"
                },
                "InstancePoolsToUseCount": {
                    "type": "number"
                },
                "MaxTotalPrice": {
                    "type": "string"
                },
                "MinTargetCapacity": {
                    "type": "number"
                },
                "SingleAvailabilityZone": {
                    "type": "boolean"
                },
                "SingleInstanceType": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.TagSpecification": {
            "additionalProperties": false,
            "properties": {
                "ResourceType": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": {
            "additionalProperties": false,
            "properties": {
                "DefaultTargetCapacityType": {
                    "type": "string"
                },
                "OnDemandTargetCapacity": {
                    "type": "number"
                },
                "SpotTargetCapacity": {
                    "type": "number"
                },
                "TotalTargetCapacity": {
                    "type": "number"
                }
            },
            "required": [
                "TotalTargetCapacity"
            ],
            "type": "object"
        },
        "AWS::EC2::EIP": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Domain": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "PublicIpv4Pool": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::EIP"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::EIPAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllocationId": {
                            "type": "string"
                        },
                        "EIP": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        },
                        "PrivateIpAddress": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::EIPAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::EgressOnlyInternetGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::EgressOnlyInternetGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::EnclaveCertificateIamRoleAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CertificateArn": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CertificateArn",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::EnclaveCertificateIamRoleAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::FlowLog": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeliverLogsPermissionArn": {
                            "type": "string"
                        },
                        "LogDestination": {
                            "type": "string"
                        },
                        "LogDestinationType": {
                            "type": "string"
                        },
                        "LogFormat": {
                            "type": "string"
                        },
                        "LogGroupName": {
                            "type": "string"
                        },
                        "MaxAggregationInterval": {
                            "type": "number"
                        },
                        "ResourceId": {
                            "type": "string"
                        },
                        "ResourceType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TrafficType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResourceId",
                        "ResourceType",
                        "TrafficType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::FlowLog"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::GatewayRouteTableAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GatewayId": {
                            "type": "string"
                        },
                        "RouteTableId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GatewayId",
                        "RouteTableId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::GatewayRouteTableAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::Host": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoPlacement": {
                            "type": "string"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "HostRecovery": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AvailabilityZone",
                        "InstanceType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::Host"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance": {
            "additionalProperties": false,
            "properties": {
                "CreationPolicy": {
                    "type": "object"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdditionalInfo": {
                            "type": "string"
                        },
                        "Affinity": {
                            "type": "string"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "BlockDeviceMappings": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping"
                            },
                            "type": "array"
                        },
                        "CpuOptions": {
                            "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions"
                        },
                        "CreditSpecification": {
                            "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification"
                        },
                        "DisableApiTermination": {
                            "type": "boolean"
                        },
                        "EbsOptimized": {
                            "type": "boolean"
                        },
                        "ElasticGpuSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification"
                            },
                            "type": "array"
                        },
                        "ElasticInferenceAccelerators": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator"
                            },
                            "type": "array"
                        },
                        "EnclaveOptions": {
                            "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions"
                        },
                        "HibernationOptions": {
                            "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions"
                        },
                        "HostId": {
                            "type": "string"
                        },
                        "HostResourceGroupArn": {
                            "type": "string"
                        },
                        "IamInstanceProfile": {
                            "type": "string"
                        },
                        "ImageId": {
                            "type": "string"
                        },
                        "InstanceInitiatedShutdownBehavior": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "Ipv6AddressCount": {
                            "type": "number"
                        },
                        "Ipv6Addresses": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address"
                            },
                            "type": "array"
                        },
                        "KernelId": {
                            "type": "string"
                        },
                        "KeyName": {
                            "type": "string"
                        },
                        "LaunchTemplate": {
                            "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification"
                        },
                        "LicenseSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification"
                            },
                            "type": "array"
                        },
                        "Monitoring": {
                            "type": "boolean"
                        },
                        "NetworkInterfaces": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface"
                            },
                            "type": "array"
                        },
                        "PlacementGroupName": {
                            "type": "string"
                        },
                        "PrivateIpAddress": {
                            "type": "string"
                        },
                        "RamdiskId": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SourceDestCheck": {
                            "type": "boolean"
                        },
                        "SsmAssociations": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Tenancy": {
                            "type": "string"
                        },
                        "UserData": {
                            "type": "string"
                        },
                        "Volumes": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::Instance.Volume"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::Instance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.AssociationParameter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.BlockDeviceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "Ebs": {
                    "$ref": "#/definitions/AWS::EC2::Instance.Ebs"
                },
                "NoDevice": {
                    "$ref": "#/definitions/AWS::EC2::Instance.NoDevice"
                },
                "VirtualName": {
                    "type": "string"
                }
            },
            "required": [
                "DeviceName"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.CpuOptions": {
            "additionalProperties": false,
            "properties": {
                "CoreCount": {
                    "type": "number"
                },
                "ThreadsPerCore": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::Instance.CreditSpecification": {
            "additionalProperties": false,
            "properties": {
                "CPUCredits": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::Instance.Ebs": {
            "additionalProperties": false,
            "properties": {
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "KmsKeyId": {
                    "type": "string"
                },
                "SnapshotId": {
                    "type": "string"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::Instance.ElasticGpuSpecification": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.ElasticInferenceAccelerator": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.EnclaveOptions": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::Instance.HibernationOptions": {
            "additionalProperties": false,
            "properties": {
                "Configured": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::Instance.InstanceIpv6Address": {
            "additionalProperties": false,
            "properties": {
                "Ipv6Address": {
                    "type": "string"
                }
            },
            "required": [
                "Ipv6Address"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.LaunchTemplateSpecification": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateId": {
                    "type": "string"
                },
                "LaunchTemplateName": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Version"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.LicenseSpecification": {
            "additionalProperties": false,
            "properties": {
                "LicenseConfigurationArn": {
                    "type": "string"
                }
            },
            "required": [
                "LicenseConfigurationArn"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.NetworkInterface": {
            "additionalProperties": false,
            "properties": {
                "AssociatePublicIpAddress": {
                    "type": "boolean"
                },
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Description": {
                    "type": "string"
                },
                "DeviceIndex": {
                    "type": "string"
                },
                "GroupSet": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Ipv6AddressCount": {
                    "type": "number"
                },
                "Ipv6Addresses": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address"
                    },
                    "type": "array"
                },
                "NetworkInterfaceId": {
                    "type": "string"
                },
                "PrivateIpAddress": {
                    "type": "string"
                },
                "PrivateIpAddresses": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification"
                    },
                    "type": "array"
                },
                "SecondaryPrivateIpAddressCount": {
                    "type": "number"
                },
                "SubnetId": {
                    "type": "string"
                }
            },
            "required": [
                "DeviceIndex"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.NoDevice": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::EC2::Instance.PrivateIpAddressSpecification": {
            "additionalProperties": false,
            "properties": {
                "Primary": {
                    "type": "boolean"
                },
                "PrivateIpAddress": {
                    "type": "string"
                }
            },
            "required": [
                "Primary",
                "PrivateIpAddress"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.SsmAssociation": {
            "additionalProperties": false,
            "properties": {
                "AssociationParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter"
                    },
                    "type": "array"
                },
                "DocumentName": {
                    "type": "string"
                }
            },
            "required": [
                "DocumentName"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance.Volume": {
            "additionalProperties": false,
            "properties": {
                "Device": {
                    "type": "string"
                },
                "VolumeId": {
                    "type": "string"
                }
            },
            "required": [
                "Device",
                "VolumeId"
            ],
            "type": "object"
        },
        "AWS::EC2::InternetGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::InternetGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LaunchTemplateData": {
                            "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData"
                        },
                        "LaunchTemplateName": {
                            "type": "string"
                        },
                        "TagSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::LaunchTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.BlockDeviceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "Ebs": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs"
                },
                "NoDevice": {
                    "type": "string"
                },
                "VirtualName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": {
            "additionalProperties": false,
            "properties": {
                "CapacityReservationPreference": {
                    "type": "string"
                },
                "CapacityReservationTarget": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.CapacityReservationTarget": {
            "additionalProperties": false,
            "properties": {
                "CapacityReservationId": {
                    "type": "string"
                },
                "CapacityReservationResourceGroupArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.CpuOptions": {
            "additionalProperties": false,
            "properties": {
                "CoreCount": {
                    "type": "number"
                },
                "ThreadsPerCore": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.CreditSpecification": {
            "additionalProperties": false,
            "properties": {
                "CpuCredits": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Ebs": {
            "additionalProperties": false,
            "properties": {
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "KmsKeyId": {
                    "type": "string"
                },
                "SnapshotId": {
                    "type": "string"
                },
                "Throughput": {
                    "type": "number"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.EnclaveOptions": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.HibernationOptions": {
            "additionalProperties": false,
            "properties": {
                "Configured": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.IamInstanceProfile": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.InstanceMarketOptions": {
            "additionalProperties": false,
            "properties": {
                "MarketType": {
                    "type": "string"
                },
                "SpotOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Ipv6Add": {
            "additionalProperties": false,
            "properties": {
                "Ipv6Address": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.LaunchTemplateData": {
            "additionalProperties": false,
            "properties": {
                "BlockDeviceMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping"
                    },
                    "type": "array"
                },
                "CapacityReservationSpecification": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification"
                },
                "CpuOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions"
                },
                "CreditSpecification": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification"
                },
                "DisableApiTermination": {
                    "type": "boolean"
                },
                "EbsOptimized": {
                    "type": "boolean"
                },
                "ElasticGpuSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification"
                    },
                    "type": "array"
                },
                "ElasticInferenceAccelerators": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator"
                    },
                    "type": "array"
                },
                "EnclaveOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions"
                },
                "HibernationOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions"
                },
                "IamInstanceProfile": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile"
                },
                "ImageId": {
                    "type": "string"
                },
                "InstanceInitiatedShutdownBehavior": {
                    "type": "string"
                },
                "InstanceMarketOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions"
                },
                "InstanceType": {
                    "type": "string"
                },
                "KernelId": {
                    "type": "string"
                },
                "KeyName": {
                    "type": "string"
                },
                "LicenseSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification"
                    },
                    "type": "array"
                },
                "MetadataOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions"
                },
                "Monitoring": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring"
                },
                "NetworkInterfaces": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface"
                    },
                    "type": "array"
                },
                "Placement": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement"
                },
                "RamDiskId": {
                    "type": "string"
                },
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TagSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification"
                    },
                    "type": "array"
                },
                "UserData": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": {
            "additionalProperties": false,
            "properties": {
                "ResourceType": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.LicenseSpecification": {
            "additionalProperties": false,
            "properties": {
                "LicenseConfigurationArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.MetadataOptions": {
            "additionalProperties": false,
            "properties": {
                "HttpEndpoint": {
                    "type": "string"
                },
                "HttpPutResponseHopLimit": {
                    "type": "number"
                },
                "HttpTokens": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Monitoring": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.NetworkInterface": {
            "additionalProperties": false,
            "properties": {
                "AssociateCarrierIpAddress": {
                    "type": "boolean"
                },
                "AssociatePublicIpAddress": {
                    "type": "boolean"
                },
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Description": {
                    "type": "string"
                },
                "DeviceIndex": {
                    "type": "number"
                },
                "Groups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InterfaceType": {
                    "type": "string"
                },
                "Ipv6AddressCount": {
                    "type": "number"
                },
                "Ipv6Addresses": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add"
                    },
                    "type": "array"
                },
                "NetworkCardIndex": {
                    "type": "number"
                },
                "NetworkInterfaceId": {
                    "type": "string"
                },
                "PrivateIpAddress": {
                    "type": "string"
                },
                "PrivateIpAddresses": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd"
                    },
                    "type": "array"
                },
                "SecondaryPrivateIpAddressCount": {
                    "type": "number"
                },
                "SubnetId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Placement": {
            "additionalProperties": false,
            "properties": {
                "Affinity": {
                    "type": "string"
                },
                "AvailabilityZone": {
                    "type": "string"
                },
                "GroupName": {
                    "type": "string"
                },
                "HostId": {
                    "type": "string"
                },
                "HostResourceGroupArn": {
                    "type": "string"
                },
                "PartitionNumber": {
                    "type": "number"
                },
                "SpreadDomain": {
                    "type": "string"
                },
                "Tenancy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.PrivateIpAdd": {
            "additionalProperties": false,
            "properties": {
                "Primary": {
                    "type": "boolean"
                },
                "PrivateIpAddress": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.SpotOptions": {
            "additionalProperties": false,
            "properties": {
                "BlockDurationMinutes": {
                    "type": "number"
                },
                "InstanceInterruptionBehavior": {
                    "type": "string"
                },
                "MaxPrice": {
                    "type": "string"
                },
                "SpotInstanceType": {
                    "type": "string"
                },
                "ValidUntil": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.TagSpecification": {
            "additionalProperties": false,
            "properties": {
                "ResourceType": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LocalGatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DestinationCidrBlock": {
                            "type": "string"
                        },
                        "LocalGatewayRouteTableId": {
                            "type": "string"
                        },
                        "LocalGatewayVirtualInterfaceGroupId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DestinationCidrBlock",
                        "LocalGatewayRouteTableId",
                        "LocalGatewayVirtualInterfaceGroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::LocalGatewayRoute"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::LocalGatewayRouteTableVPCAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LocalGatewayRouteTableId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "LocalGatewayRouteTableId",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::LocalGatewayRouteTableVPCAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NatGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllocationId": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AllocationId",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NatGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkAcl": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkAcl"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkAclEntry": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CidrBlock": {
                            "type": "string"
                        },
                        "Egress": {
                            "type": "boolean"
                        },
                        "Icmp": {
                            "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp"
                        },
                        "Ipv6CidrBlock": {
                            "type": "string"
                        },
                        "NetworkAclId": {
                            "type": "string"
                        },
                        "PortRange": {
                            "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange"
                        },
                        "Protocol": {
                            "type": "number"
                        },
                        "RuleAction": {
                            "type": "string"
                        },
                        "RuleNumber": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "NetworkAclId",
                        "Protocol",
                        "RuleAction",
                        "RuleNumber"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkAclEntry"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkAclEntry.Icmp": {
            "additionalProperties": false,
            "properties": {
                "Code": {
                    "type": "number"
                },
                "Type": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkAclEntry.PortRange": {
            "additionalProperties": false,
            "properties": {
                "From": {
                    "type": "number"
                },
                "To": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FilterInArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "NetworkInsightsPathId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "NetworkInsightsPathId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkInsightsAnalysis"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": {
            "additionalProperties": false,
            "properties": {
                "ComponentArn": {
                    "type": "string"
                },
                "ComponentId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": {
            "additionalProperties": false,
            "properties": {
                "Cidr": {
                    "type": "string"
                },
                "Egress": {
                    "type": "boolean"
                },
                "PortRange": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange"
                },
                "Protocol": {
                    "type": "string"
                },
                "RuleAction": {
                    "type": "string"
                },
                "RuleNumber": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": {
            "additionalProperties": false,
            "properties": {
                "InstancePort": {
                    "type": "number"
                },
                "LoadBalancerPort": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": {
            "additionalProperties": false,
            "properties": {
                "Address": {
                    "type": "string"
                },
                "AvailabilityZone": {
                    "type": "string"
                },
                "Instance": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Port": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": {
            "additionalProperties": false,
            "properties": {
                "DestinationAddresses": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DestinationPortRanges": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange"
                    },
                    "type": "array"
                },
                "Protocol": {
                    "type": "string"
                },
                "SourceAddresses": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SourcePortRanges": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": {
            "additionalProperties": false,
            "properties": {
                "NatGatewayId": {
                    "type": "string"
                },
                "NetworkInterfaceId": {
                    "type": "string"
                },
                "Origin": {
                    "type": "string"
                },
                "TransitGatewayId": {
                    "type": "string"
                },
                "VpcPeeringConnectionId": {
                    "type": "string"
                },
                "destinationCidr": {
                    "type": "string"
                },
                "destinationPrefixListId": {
                    "type": "string"
                },
                "egressOnlyInternetGatewayId": {
                    "type": "string"
                },
                "gatewayId": {
                    "type": "string"
                },
                "instanceId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": {
            "additionalProperties": false,
            "properties": {
                "Cidr": {
                    "type": "string"
                },
                "Direction": {
                    "type": "string"
                },
                "PortRange": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange"
                },
                "PrefixListId": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "SecurityGroupId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.Explanation": {
            "additionalProperties": false,
            "properties": {
                "Acl": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "AclRule": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule"
                },
                "Address": {
                    "type": "string"
                },
                "Addresses": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AttachedTo": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "AvailabilityZones": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Cidrs": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ClassicLoadBalancerListener": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener"
                },
                "Component": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "CustomerGateway": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Destination": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "DestinationVpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Direction": {
                    "type": "string"
                },
                "ElasticLoadBalancerListener": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "ExplanationCode": {
                    "type": "string"
                },
                "IngressRouteTable": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "InternetGateway": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "LoadBalancerArn": {
                    "type": "string"
                },
                "LoadBalancerListenerPort": {
                    "type": "number"
                },
                "LoadBalancerTarget": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget"
                },
                "LoadBalancerTargetGroup": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "LoadBalancerTargetGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                    },
                    "type": "array"
                },
                "LoadBalancerTargetPort": {
                    "type": "number"
                },
                "MissingComponent": {
                    "type": "string"
                },
                "NatGateway": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "NetworkInterface": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "PacketField": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "PortRanges": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange"
                    },
                    "type": "array"
                },
                "PrefixList": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Protocols": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RouteTable": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "RouteTableRoute": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute"
                },
                "SecurityGroup": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "SecurityGroupRule": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule"
                },
                "SecurityGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                    },
                    "type": "array"
                },
                "SourceVpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "State": {
                    "type": "string"
                },
                "Subnet": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "SubnetRouteTable": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Vpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "VpcPeeringConnection": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "VpnConnection": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "VpnGateway": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "vpcEndpoint": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.PathComponent": {
            "additionalProperties": false,
            "properties": {
                "AclRule": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule"
                },
                "Component": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "DestinationVpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "InboundHeader": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader"
                },
                "OutboundHeader": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader"
                },
                "RouteTableRoute": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute"
                },
                "SecurityGroupRule": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule"
                },
                "SequenceNumber": {
                    "type": "number"
                },
                "SourceVpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Subnet": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Vpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis.PortRange": {
            "additionalProperties": false,
            "properties": {
                "From": {
                    "type": "number"
                },
                "To": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsPath": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Destination": {
                            "type": "string"
                        },
                        "DestinationIp": {
                            "type": "string"
                        },
                        "DestinationPort": {
                            "type": "number"
                        },
                        "Protocol": {
                            "type": "string"
                        },
                        "Source": {
                            "type": "string"
                        },
                        "SourceIp": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Destination",
                        "Protocol",
                        "Source"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkInsightsPath"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInterface": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "GroupSet": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "InterfaceType": {
                            "type": "string"
                        },
                        "Ipv6AddressCount": {
                            "type": "number"
                        },
                        "Ipv6Addresses": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address"
                            },
                            "type": "array"
                        },
                        "PrivateIpAddress": {
                            "type": "string"
                        },
                        "PrivateIpAddresses": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification"
                            },
                            "type": "array"
                        },
                        "SecondaryPrivateIpAddressCount": {
                            "type": "number"
                        },
                        "SourceDestCheck": {
                            "type": "boolean"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkInterface"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInterface.InstanceIpv6Address": {
            "additionalProperties": false,
            "properties": {
                "Ipv6Address": {
                    "type": "string"
                }
            },
            "required": [
                "Ipv6Address"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": {
            "additionalProperties": false,
            "properties": {
                "Primary": {
                    "type": "boolean"
                },
                "PrivateIpAddress": {
                    "type": "string"
                }
            },
            "required": [
                "Primary",
                "PrivateIpAddress"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInterfaceAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeleteOnTermination": {
                            "type": "boolean"
                        },
                        "DeviceIndex": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DeviceIndex",
                        "InstanceId",
                        "NetworkInterfaceId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkInterfaceAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInterfacePermission": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AwsAccountId": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        },
                        "Permission": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AwsAccountId",
                        "NetworkInterfaceId",
                        "Permission"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkInterfacePermission"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::PlacementGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Strategy": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::PlacementGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::PrefixList": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AddressFamily": {
                            "type": "string"
                        },
                        "Entries": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::PrefixList.Entry"
                            },
                            "type": "array"
                        },
                        "MaxEntries": {
                            "type": "number"
                        },
                        "PrefixListName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AddressFamily",
                        "MaxEntries",
                        "PrefixListName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::PrefixList"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::PrefixList.Entry": {
            "additionalProperties": false,
            "properties": {
                "Cidr": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                }
            },
            "required": [
                "Cidr"
            ],
            "type": "object"
        },
        "AWS::EC2::Route": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CarrierGatewayId": {
                            "type": "string"
                        },
                        "DestinationCidrBlock": {
                            "type": "string"
                        },
                        "DestinationIpv6CidrBlock": {
                            "type": "string"
                        },
                        "EgressOnlyInternetGatewayId": {
                            "type": "string"
                        },
                        "GatewayId": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "LocalGatewayId": {
                            "type": "string"
                        },
                        "NatGatewayId": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        },
                        "RouteTableId": {
                            "type": "string"
                        },
                        "TransitGatewayId": {
                            "type": "string"
                        },
                        "VpcEndpointId": {
                            "type": "string"
                        },
                        "VpcPeeringConnectionId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RouteTableId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::Route"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::RouteTable": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::RouteTable"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SecurityGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GroupDescription": {
                            "type": "string"
                        },
                        "GroupName": {
                            "type": "string"
                        },
                        "SecurityGroupEgress": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress"
                            },
                            "type": "array"
                        },
                        "SecurityGroupIngress": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GroupDescription"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::SecurityGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SecurityGroup.Egress": {
            "additionalProperties": false,
            "properties": {
                "CidrIp": {
                    "type": "string"
                },
                "CidrIpv6": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "DestinationPrefixListId": {
                    "type": "string"
                },
                "DestinationSecurityGroupId": {
                    "type": "string"
                },
                "FromPort": {
                    "type": "number"
                },
                "IpProtocol": {
                    "type": "string"
                },
                "ToPort": {
                    "type": "number"
                }
            },
            "required": [
                "IpProtocol"
            ],
            "type": "object"
        },
        "AWS::EC2::SecurityGroup.Ingress": {
            "additionalProperties": false,
            "properties": {
                "CidrIp": {
                    "type": "string"
                },
                "CidrIpv6": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "FromPort": {
                    "type": "number"
                },
                "IpProtocol": {
                    "type": "string"
                },
                "SourcePrefixListId": {
                    "type": "string"
                },
                "SourceSecurityGroupId": {
                    "type": "string"
                },
                "SourceSecurityGroupName": {
                    "type": "string"
                },
                "SourceSecurityGroupOwnerId": {
                    "type": "string"
                },
                "ToPort": {
                    "type": "number"
                }
            },
            "required": [
                "IpProtocol"
            ],
            "type": "object"
        },
        "AWS::EC2::SecurityGroupEgress": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CidrIp": {
                            "type": "string"
                        },
                        "CidrIpv6": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DestinationPrefixListId": {
                            "type": "string"
                        },
                        "DestinationSecurityGroupId": {
                            "type": "string"
                        },
                        "FromPort": {
                            "type": "number"
                        },
                        "GroupId": {
                            "type": "string"
                        },
                        "IpProtocol": {
                            "type": "string"
                        },
                        "ToPort": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "GroupId",
                        "IpProtocol"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::SecurityGroupEgress"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SecurityGroupIngress": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CidrIp": {
                            "type": "string"
                        },
                        "CidrIpv6": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FromPort": {
                            "type": "number"
                        },
                        "GroupId": {
                            "type": "string"
                        },
                        "GroupName": {
                            "type": "string"
                        },
                        "IpProtocol": {
                            "type": "string"
                        },
                        "SourcePrefixListId": {
                            "type": "string"
                        },
                        "SourceSecurityGroupId": {
                            "type": "string"
                        },
                        "SourceSecurityGroupName": {
                            "type": "string"
                        },
                        "SourceSecurityGroupOwnerId": {
                            "type": "string"
                        },
                        "ToPort": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "IpProtocol"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::SecurityGroupIngress"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SpotFleetRequestConfigData": {
                            "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData"
                        }
                    },
                    "required": [
                        "SpotFleetRequestConfigData"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::SpotFleet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.BlockDeviceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "Ebs": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice"
                },
                "NoDevice": {
                    "type": "string"
                },
                "VirtualName": {
                    "type": "string"
                }
            },
            "required": [
                "DeviceName"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.ClassicLoadBalancer": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": {
            "additionalProperties": false,
            "properties": {
                "ClassicLoadBalancers": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ClassicLoadBalancers"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.EbsBlockDevice": {
            "additionalProperties": false,
            "properties": {
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "SnapshotId": {
                    "type": "string"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateId": {
                    "type": "string"
                },
                "LaunchTemplateName": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Version"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.GroupIdentifier": {
            "additionalProperties": false,
            "properties": {
                "GroupId": {
                    "type": "string"
                }
            },
            "required": [
                "GroupId"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.InstanceIpv6Address": {
            "additionalProperties": false,
            "properties": {
                "Ipv6Address": {
                    "type": "string"
                }
            },
            "required": [
                "Ipv6Address"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": {
            "additionalProperties": false,
            "properties": {
                "AssociatePublicIpAddress": {
                    "type": "boolean"
                },
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Description": {
                    "type": "string"
                },
                "DeviceIndex": {
                    "type": "number"
                },
                "Groups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Ipv6AddressCount": {
                    "type": "number"
                },
                "Ipv6Addresses": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address"
                    },
                    "type": "array"
                },
                "NetworkInterfaceId": {
                    "type": "string"
                },
                "PrivateIpAddresses": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification"
                    },
                    "type": "array"
                },
                "SecondaryPrivateIpAddressCount": {
                    "type": "number"
                },
                "SubnetId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.LaunchTemplateConfig": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateSpecification": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification"
                },
                "Overrides": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.LaunchTemplateOverrides": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "InstanceType": {
                    "type": "string"
                },
                "SpotPrice": {
                    "type": "string"
                },
                "SubnetId": {
                    "type": "string"
                },
                "WeightedCapacity": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.LoadBalancersConfig": {
            "additionalProperties": false,
            "properties": {
                "ClassicLoadBalancersConfig": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig"
                },
                "TargetGroupsConfig": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": {
            "additionalProperties": false,
            "properties": {
                "Primary": {
                    "type": "boolean"
                },
                "PrivateIpAddress": {
                    "type": "string"
                }
            },
            "required": [
                "PrivateIpAddress"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotCapacityRebalance": {
            "additionalProperties": false,
            "properties": {
                "ReplacementStrategy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": {
            "additionalProperties": false,
            "properties": {
                "BlockDeviceMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping"
                    },
                    "type": "array"
                },
                "EbsOptimized": {
                    "type": "boolean"
                },
                "IamInstanceProfile": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification"
                },
                "ImageId": {
                    "type": "string"
                },
                "InstanceType": {
                    "type": "string"
                },
                "KernelId": {
                    "type": "string"
                },
                "KeyName": {
                    "type": "string"
                },
                "Monitoring": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring"
                },
                "NetworkInterfaces": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification"
                    },
                    "type": "array"
                },
                "Placement": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement"
                },
                "RamdiskId": {
                    "type": "string"
                },
                "SecurityGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier"
                    },
                    "type": "array"
                },
                "SpotPrice": {
                    "type": "string"
                },
                "SubnetId": {
                    "type": "string"
                },
                "TagSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification"
                    },
                    "type": "array"
                },
                "UserData": {
                    "type": "string"
                },
                "WeightedCapacity": {
                    "type": "number"
                }
            },
            "required": [
                "ImageId",
                "InstanceType"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotFleetMonitoring": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                },
                "ExcessCapacityTerminationPolicy": {
                    "type": "string"
                },
                "IamFleetRole": {
                    "type": "string"
                },
                "InstanceInterruptionBehavior": {
                    "type": "string"
                },
                "InstancePoolsToUseCount": {
                    "type": "number"
                },
                "LaunchSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetLaunchSpecification"
                    },
                    "type": "array"
                },
                "LaunchTemplateConfigs": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateConfig"
                    },
                    "type": "array"
                },
                "LoadBalancersConfig": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.LoadBalancersConfig"
                },
                "OnDemandAllocationStrategy": {
                    "type": "string"
                },
                "OnDemandMaxTotalPrice": {
                    "type": "string"
                },
                "OnDemandTargetCapacity": {
                    "type": "number"
                },
                "ReplaceUnhealthyInstances": {
                    "type": "boolean"
                },
                "SpotMaintenanceStrategies": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotMaintenanceStrategies"
                },
                "SpotMaxTotalPrice": {
                    "type": "string"
                },
                "SpotPrice": {
                    "type": "string"
                },
                "TargetCapacity": {
                    "type": "number"
                },
                "TerminateInstancesWithExpiration": {
                    "type": "boolean"
                },
                "Type": {
                    "type": "string"
                },
                "ValidFrom": {
                    "type": "string"
                },
                "ValidUntil": {
                    "type": "string"
                }
            },
            "required": [
                "IamFleetRole",
                "TargetCapacity"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotFleetTagSpecification": {
            "additionalProperties": false,
            "properties": {
                "ResourceType": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": {
            "additionalProperties": false,
            "properties": {
                "CapacityRebalance": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotPlacement": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "GroupName": {
                    "type": "string"
                },
                "Tenancy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.TargetGroup": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                }
            },
            "required": [
                "Arn"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.TargetGroupsConfig": {
            "additionalProperties": false,
            "properties": {
                "TargetGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup"
                    },
                    "type": "array"
                }
            },
            "required": [
                "TargetGroups"
            ],
            "type": "object"
        },
        "AWS::EC2::Subnet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssignIpv6AddressOnCreation": {
                            "type": "boolean"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "CidrBlock": {
                            "type": "string"
                        },
                        "Ipv6CidrBlock": {
                            "type": "string"
                        },
                        "MapPublicIpOnLaunch": {
                            "type": "boolean"
                        },
                        "OutpostArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CidrBlock",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::Subnet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SubnetCidrBlock": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Ipv6CidrBlock": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Ipv6CidrBlock",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::SubnetCidrBlock"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SubnetNetworkAclAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "NetworkAclId": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "NetworkAclId",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::SubnetNetworkAclAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::SubnetRouteTableAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "RouteTableId": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RouteTableId",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::SubnetRouteTableAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TrafficMirrorFilter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "NetworkServices": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TrafficMirrorFilter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::TrafficMirrorFilterRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "DestinationCidrBlock": {
                            "type": "string"
                        },
                        "DestinationPortRange": {
                            "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange"
                        },
                        "Protocol": {
                            "type": "number"
                        },
                        "RuleAction": {
                            "type": "string"
                        },
                        "RuleNumber": {
                            "type": "number"
                        },
                        "SourceCidrBlock": {
                            "type": "string"
                        },
                        "SourcePortRange": {
                            "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange"
                        },
                        "TrafficDirection": {
                            "type": "string"
                        },
                        "TrafficMirrorFilterId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DestinationCidrBlock",
                        "RuleAction",
                        "RuleNumber",
                        "SourceCidrBlock",
                        "TrafficDirection",
                        "TrafficMirrorFilterId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TrafficMirrorFilterRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": {
            "additionalProperties": false,
            "properties": {
                "FromPort": {
                    "type": "number"
                },
                "ToPort": {
                    "type": "number"
                }
            },
            "required": [
                "FromPort",
                "ToPort"
            ],
            "type": "object"
        },
        "AWS::EC2::TrafficMirrorSession": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        },
                        "PacketLength": {
                            "type": "number"
                        },
                        "SessionNumber": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TrafficMirrorFilterId": {
                            "type": "string"
                        },
                        "TrafficMirrorTargetId": {
                            "type": "string"
                        },
                        "VirtualNetworkId": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "NetworkInterfaceId",
                        "SessionNumber",
                        "TrafficMirrorFilterId",
                        "TrafficMirrorTargetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TrafficMirrorSession"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TrafficMirrorTarget": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        },
                        "NetworkLoadBalancerArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TrafficMirrorTarget"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AmazonSideAsn": {
                            "type": "number"
                        },
                        "AutoAcceptSharedAttachments": {
                            "type": "string"
                        },
                        "DefaultRouteTableAssociation": {
                            "type": "string"
                        },
                        "DefaultRouteTablePropagation": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DnsSupport": {
                            "type": "string"
                        },
                        "MulticastSupport": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpnEcmpSupport": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransitGatewayId": {
                            "type": "string"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SubnetIds",
                        "TransitGatewayId",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayConnect": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Options": {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransportTransitGatewayAttachmentId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Options",
                        "TransportTransitGatewayAttachmentId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayConnect"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": {
            "additionalProperties": false,
            "properties": {
                "Protocol": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::TransitGatewayMulticastDomain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Options": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransitGatewayId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "TransitGatewayId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayMulticastDomain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayMulticastDomainAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SubnetId": {
                            "type": "string"
                        },
                        "TransitGatewayAttachmentId": {
                            "type": "string"
                        },
                        "TransitGatewayMulticastDomainId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SubnetId",
                        "TransitGatewayAttachmentId",
                        "TransitGatewayMulticastDomainId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayMulticastDomainAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayMulticastGroupMember": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GroupIpAddress": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        },
                        "TransitGatewayMulticastDomainId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GroupIpAddress",
                        "NetworkInterfaceId",
                        "TransitGatewayMulticastDomainId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayMulticastGroupMember"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayMulticastGroupSource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GroupIpAddress": {
                            "type": "string"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        },
                        "TransitGatewayMulticastDomainId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GroupIpAddress",
                        "NetworkInterfaceId",
                        "TransitGatewayMulticastDomainId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayMulticastGroupSource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayPeeringAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PeerAccountId": {
                            "type": "string"
                        },
                        "PeerRegion": {
                            "type": "string"
                        },
                        "PeerTransitGatewayId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransitGatewayId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PeerAccountId",
                        "PeerRegion",
                        "PeerTransitGatewayId",
                        "TransitGatewayId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayPeeringAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Blackhole": {
                            "type": "boolean"
                        },
                        "DestinationCidrBlock": {
                            "type": "string"
                        },
                        "TransitGatewayAttachmentId": {
                            "type": "string"
                        },
                        "TransitGatewayRouteTableId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "TransitGatewayRouteTableId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayRoute"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayRouteTable": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransitGatewayId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "TransitGatewayId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayRouteTable"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayRouteTableAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "TransitGatewayAttachmentId": {
                            "type": "string"
                        },
                        "TransitGatewayRouteTableId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "TransitGatewayAttachmentId",
                        "TransitGatewayRouteTableId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayRouteTableAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayRouteTablePropagation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "TransitGatewayAttachmentId": {
                            "type": "string"
                        },
                        "TransitGatewayRouteTableId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "TransitGatewayAttachmentId",
                        "TransitGatewayRouteTableId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::TransitGatewayRouteTablePropagation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPC": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CidrBlock": {
                            "type": "string"
                        },
                        "EnableDnsHostnames": {
                            "type": "boolean"
                        },
                        "EnableDnsSupport": {
                            "type": "boolean"
                        },
                        "InstanceTenancy": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CidrBlock"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPC"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCCidrBlock": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AmazonProvidedIpv6CidrBlock": {
                            "type": "boolean"
                        },
                        "CidrBlock": {
                            "type": "string"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCCidrBlock"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCDHCPOptionsAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DhcpOptionsId": {
                            "type": "string"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DhcpOptionsId",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCDHCPOptionsAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCEndpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PolicyDocument": {
                            "type": "object"
                        },
                        "PrivateDnsEnabled": {
                            "type": "boolean"
                        },
                        "RouteTableIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ServiceName": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VpcEndpointType": {
                            "type": "string"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ServiceName",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCEndpointConnectionNotification": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectionEvents": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ConnectionNotificationArn": {
                            "type": "string"
                        },
                        "ServiceId": {
                            "type": "string"
                        },
                        "VPCEndpointId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConnectionEvents",
                        "ConnectionNotificationArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCEndpointConnectionNotification"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCEndpointService": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptanceRequired": {
                            "type": "boolean"
                        },
                        "GatewayLoadBalancerArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "NetworkLoadBalancerArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCEndpointService"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCEndpointServicePermissions": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowedPrincipals": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ServiceId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ServiceId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCEndpointServicePermissions"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCGatewayAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InternetGatewayId": {
                            "type": "string"
                        },
                        "VpcId": {
                            "type": "string"
                        },
                        "VpnGatewayId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCGatewayAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCPeeringConnection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PeerOwnerId": {
                            "type": "string"
                        },
                        "PeerRegion": {
                            "type": "string"
                        },
                        "PeerRoleArn": {
                            "type": "string"
                        },
                        "PeerVpcId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PeerVpcId",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPCPeeringConnection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPNConnection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CustomerGatewayId": {
                            "type": "string"
                        },
                        "StaticRoutesOnly": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransitGatewayId": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "VpnGatewayId": {
                            "type": "string"
                        },
                        "VpnTunnelOptionsSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CustomerGatewayId",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPNConnection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": {
            "additionalProperties": false,
            "properties": {
                "PreSharedKey": {
                    "type": "string"
                },
                "TunnelInsideCidr": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VPNConnectionRoute": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DestinationCidrBlock": {
                            "type": "string"
                        },
                        "VpnConnectionId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DestinationCidrBlock",
                        "VpnConnectionId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPNConnectionRoute"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPNGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AmazonSideAsn": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPNGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VPNGatewayRoutePropagation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "RouteTableIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VpnGatewayId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RouteTableIds",
                        "VpnGatewayId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPNGatewayRoutePropagation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::Volume": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoEnableIO": {
                            "type": "boolean"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "Encrypted": {
                            "type": "boolean"
                        },
                        "Iops": {
                            "type": "number"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "MultiAttachEnabled": {
                            "type": "boolean"
                        },
                        "OutpostArn": {
                            "type": "string"
                        },
                        "Size": {
                            "type": "number"
                        },
                        "SnapshotId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Throughput": {
                            "type": "number"
                        },
                        "VolumeType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AvailabilityZone"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::Volume"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VolumeAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Device": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "VolumeId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Device",
                        "InstanceId",
                        "VolumeId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VolumeAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ECR::PublicRepository": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "RepositoryCatalogData": {
                            "type": "object"
                        },
                        "RepositoryName": {
                            "type": "string"
                        },
                        "RepositoryPolicyText": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECR::PublicRepository"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECR::RegistryPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PolicyText": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "PolicyText"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECR::RegistryPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ECR::ReplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ReplicationConfiguration": {
                            "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration"
                        }
                    },
                    "required": [
                        "ReplicationConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECR::ReplicationConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Rules"
            ],
            "type": "object"
        },
        "AWS::ECR::ReplicationConfiguration.ReplicationDestination": {
            "additionalProperties": false,
            "properties": {
                "Region": {
                    "type": "string"
                },
                "RegistryId": {
                    "type": "string"
                }
            },
            "required": [
                "Region",
                "RegistryId"
            ],
            "type": "object"
        },
        "AWS::ECR::ReplicationConfiguration.ReplicationRule": {
            "additionalProperties": false,
            "properties": {
                "Destinations": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Destinations"
            ],
            "type": "object"
        },
        "AWS::ECR::Repository": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EncryptionConfiguration": {
                            "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration"
                        },
                        "ImageScanningConfiguration": {
                            "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration"
                        },
                        "ImageTagMutability": {
                            "type": "string"
                        },
                        "LifecyclePolicy": {
                            "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy"
                        },
                        "RepositoryName": {
                            "type": "string"
                        },
                        "RepositoryPolicyText": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECR::Repository"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECR::Repository.EncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EncryptionType": {
                    "type": "string"
                },
                "KmsKey": {
                    "type": "string"
                }
            },
            "required": [
                "EncryptionType"
            ],
            "type": "object"
        },
        "AWS::ECR::Repository.ImageScanningConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ScanOnPush": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ECR::Repository.LifecyclePolicy": {
            "additionalProperties": false,
            "properties": {
                "LifecyclePolicyText": {
                    "type": "string"
                },
                "RegistryId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::CapacityProvider": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingGroupProvider": {
                            "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AutoScalingGroupProvider"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECS::CapacityProvider"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": {
            "additionalProperties": false,
            "properties": {
                "AutoScalingGroupArn": {
                    "type": "string"
                },
                "ManagedScaling": {
                    "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling"
                },
                "ManagedTerminationProtection": {
                    "type": "string"
                }
            },
            "required": [
                "AutoScalingGroupArn"
            ],
            "type": "object"
        },
        "AWS::ECS::CapacityProvider.ManagedScaling": {
            "additionalProperties": false,
            "properties": {
                "InstanceWarmupPeriod": {
                    "type": "number"
                },
                "MaximumScalingStepSize": {
                    "type": "number"
                },
                "MinimumScalingStepSize": {
                    "type": "number"
                },
                "Status": {
                    "type": "string"
                },
                "TargetCapacity": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Cluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CapacityProviders": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ClusterName": {
                            "type": "string"
                        },
                        "ClusterSettings": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings"
                            },
                            "type": "array"
                        },
                        "Configuration": {
                            "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration"
                        },
                        "DefaultCapacityProviderStrategy": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECS::Cluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECS::Cluster.CapacityProviderStrategyItem": {
            "additionalProperties": false,
            "properties": {
                "Base": {
                    "type": "number"
                },
                "CapacityProvider": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Cluster.ClusterConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ExecuteCommandConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Cluster.ClusterSettings": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Cluster.ExecuteCommandConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "LogConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration"
                },
                "Logging": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchEncryptionEnabled": {
                    "type": "boolean"
                },
                "CloudWatchLogGroupName": {
                    "type": "string"
                },
                "S3BucketName": {
                    "type": "string"
                },
                "S3EncryptionEnabled": {
                    "type": "boolean"
                },
                "S3KeyPrefix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::ClusterCapacityProviderAssociations": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CapacityProviders": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Cluster": {
                            "type": "string"
                        },
                        "DefaultCapacityProviderStrategy": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CapacityProviders",
                        "Cluster",
                        "DefaultCapacityProviderStrategy"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECS::ClusterCapacityProviderAssociations"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": {
            "additionalProperties": false,
            "properties": {
                "Base": {
                    "type": "number"
                },
                "CapacityProvider": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "CapacityProvider"
            ],
            "type": "object"
        },
        "AWS::ECS::PrimaryTaskSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Cluster": {
                            "type": "string"
                        },
                        "Service": {
                            "type": "string"
                        },
                        "TaskSetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Cluster",
                        "Service",
                        "TaskSetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECS::PrimaryTaskSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ECS::Service": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CapacityProviderStrategy": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem"
                            },
                            "type": "array"
                        },
                        "Cluster": {
                            "type": "string"
                        },
                        "DeploymentConfiguration": {
                            "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration"
                        },
                        "DeploymentController": {
                            "$ref": "#/definitions/AWS::ECS::Service.DeploymentController"
                        },
                        "DesiredCount": {
                            "type": "number"
                        },
                        "EnableECSManagedTags": {
                            "type": "boolean"
                        },
                        "EnableExecuteCommand": {
                            "type": "boolean"
                        },
                        "HealthCheckGracePeriodSeconds": {
                            "type": "number"
                        },
                        "LaunchType": {
                            "type": "string"
                        },
                        "LoadBalancers": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer"
                            },
                            "type": "array"
                        },
                        "NetworkConfiguration": {
                            "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration"
                        },
                        "PlacementConstraints": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint"
                            },
                            "type": "array"
                        },
                        "PlacementStrategies": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy"
                            },
                            "type": "array"
                        },
                        "PlatformVersion": {
                            "type": "string"
                        },
                        "PropagateTags": {
                            "type": "string"
                        },
                        "Role": {
                            "type": "string"
                        },
                        "SchedulingStrategy": {
                            "type": "string"
                        },
                        "ServiceName": {
                            "type": "string"
                        },
                        "ServiceRegistries": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TaskDefinition": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECS::Service"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECS::Service.AwsVpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AssignPublicIp": {
                    "type": "string"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Service.CapacityProviderStrategyItem": {
            "additionalProperties": false,
            "properties": {
                "Base": {
                    "type": "number"
                },
                "CapacityProvider": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Service.DeploymentCircuitBreaker": {
            "additionalProperties": false,
            "properties": {
                "Enable": {
                    "type": "boolean"
                },
                "Rollback": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enable",
                "Rollback"
            ],
            "type": "object"
        },
        "AWS::ECS::Service.DeploymentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeploymentCircuitBreaker": {
                    "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker"
                },
                "MaximumPercent": {
                    "type": "number"
                },
                "MinimumHealthyPercent": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Service.DeploymentController": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Service.LoadBalancer": {
            "additionalProperties": false,
            "properties": {
                "ContainerName": {
                    "type": "string"
                },
                "ContainerPort": {
                    "type": "number"
                },
                "LoadBalancerName": {
                    "type": "string"
                },
                "TargetGroupArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Service.NetworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AwsvpcConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::ECS::Service.PlacementConstraint": {
            "additionalProperties": false,
            "properties": {
                "Expression": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECS::Service.PlacementStrategy": {
            "additionalProperties": false,
            "properties": {
                "Field": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECS::Service.ServiceRegistry": {
            "additionalProperties": false,
            "properties": {
                "ContainerName": {
                    "type": "string"
                },
                "ContainerPort": {
                    "type": "number"
                },
                "Port": {
                    "type": "number"
                },
                "RegistryArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContainerDefinitions": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition"
                            },
                            "type": "array"
                        },
                        "Cpu": {
                            "type": "string"
                        },
                        "EphemeralStorage": {
                            "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage"
                        },
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "Family": {
                            "type": "string"
                        },
                        "InferenceAccelerators": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator"
                            },
                            "type": "array"
                        },
                        "IpcMode": {
                            "type": "string"
                        },
                        "Memory": {
                            "type": "string"
                        },
                        "NetworkMode": {
                            "type": "string"
                        },
                        "PidMode": {
                            "type": "string"
                        },
                        "PlacementConstraints": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint"
                            },
                            "type": "array"
                        },
                        "ProxyConfiguration": {
                            "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration"
                        },
                        "RequiresCompatibilities": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TaskRoleArn": {
                            "type": "string"
                        },
                        "Volumes": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECS::TaskDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.AuthorizationConfig": {
            "additionalProperties": false,
            "properties": {
                "AccessPointId": {
                    "type": "string"
                },
                "IAM": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.ContainerDefinition": {
            "additionalProperties": false,
            "properties": {
                "Command": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Cpu": {
                    "type": "number"
                },
                "DependsOn": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency"
                    },
                    "type": "array"
                },
                "DisableNetworking": {
                    "type": "boolean"
                },
                "DnsSearchDomains": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DnsServers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DockerLabels": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "DockerSecurityOptions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "EntryPoint": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Environment": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair"
                    },
                    "type": "array"
                },
                "EnvironmentFiles": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile"
                    },
                    "type": "array"
                },
                "Essential": {
                    "type": "boolean"
                },
                "ExtraHosts": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry"
                    },
                    "type": "array"
                },
                "FirelensConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration"
                },
                "HealthCheck": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck"
                },
                "Hostname": {
                    "type": "string"
                },
                "Image": {
                    "type": "string"
                },
                "Interactive": {
                    "type": "boolean"
                },
                "Links": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "LinuxParameters": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters"
                },
                "LogConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration"
                },
                "Memory": {
                    "type": "number"
                },
                "MemoryReservation": {
                    "type": "number"
                },
                "MountPoints": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "PortMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping"
                    },
                    "type": "array"
                },
                "Privileged": {
                    "type": "boolean"
                },
                "PseudoTerminal": {
                    "type": "boolean"
                },
                "ReadonlyRootFilesystem": {
                    "type": "boolean"
                },
                "RepositoryCredentials": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials"
                },
                "ResourceRequirements": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement"
                    },
                    "type": "array"
                },
                "Secrets": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret"
                    },
                    "type": "array"
                },
                "StartTimeout": {
                    "type": "number"
                },
                "StopTimeout": {
                    "type": "number"
                },
                "SystemControls": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl"
                    },
                    "type": "array"
                },
                "Ulimits": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit"
                    },
                    "type": "array"
                },
                "User": {
                    "type": "string"
                },
                "VolumesFrom": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom"
                    },
                    "type": "array"
                },
                "WorkingDirectory": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.ContainerDependency": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "ContainerName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.Device": {
            "additionalProperties": false,
            "properties": {
                "ContainerPath": {
                    "type": "string"
                },
                "HostPath": {
                    "type": "string"
                },
                "Permissions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Autoprovision": {
                    "type": "boolean"
                },
                "Driver": {
                    "type": "string"
                },
                "DriverOpts": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Labels": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Scope": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AuthorizationConfig": {
                    "type": "object"
                },
                "FilesystemId": {
                    "type": "string"
                },
                "RootDirectory": {
                    "type": "string"
                },
                "TransitEncryption": {
                    "type": "string"
                },
                "TransitEncryptionPort": {
                    "type": "number"
                }
            },
            "required": [
                "FilesystemId"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.EnvironmentFile": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.EphemeralStorage": {
            "additionalProperties": false,
            "properties": {
                "SizeInGiB": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.FirelensConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Options": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.HealthCheck": {
            "additionalProperties": false,
            "properties": {
                "Command": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Interval": {
                    "type": "number"
                },
                "Retries": {
                    "type": "number"
                },
                "StartPeriod": {
                    "type": "number"
                },
                "Timeout": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.HostEntry": {
            "additionalProperties": false,
            "properties": {
                "Hostname": {
                    "type": "string"
                },
                "IpAddress": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.HostVolumeProperties": {
            "additionalProperties": false,
            "properties": {
                "SourcePath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.InferenceAccelerator": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "DeviceType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.KernelCapabilities": {
            "additionalProperties": false,
            "properties": {
                "Add": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Drop": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.KeyValuePair": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.LinuxParameters": {
            "additionalProperties": false,
            "properties": {
                "Capabilities": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities"
                },
                "Devices": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device"
                    },
                    "type": "array"
                },
                "InitProcessEnabled": {
                    "type": "boolean"
                },
                "MaxSwap": {
                    "type": "number"
                },
                "SharedMemorySize": {
                    "type": "number"
                },
                "Swappiness": {
                    "type": "number"
                },
                "Tmpfs": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.LogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LogDriver": {
                    "type": "string"
                },
                "Options": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "SecretOptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret"
                    },
                    "type": "array"
                }
            },
            "required": [
                "LogDriver"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.MountPoint": {
            "additionalProperties": false,
            "properties": {
                "ContainerPath": {
                    "type": "string"
                },
                "ReadOnly": {
                    "type": "boolean"
                },
                "SourceVolume": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.PortMapping": {
            "additionalProperties": false,
            "properties": {
                "ContainerPort": {
                    "type": "number"
                },
                "HostPort": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.ProxyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ContainerName": {
                    "type": "string"
                },
                "ProxyConfigurationProperties": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair"
                    },
                    "type": "array"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "ContainerName"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.RepositoryCredentials": {
            "additionalProperties": false,
            "properties": {
                "CredentialsParameter": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.ResourceRequirement": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.Secret": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "ValueFrom": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "ValueFrom"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.SystemControl": {
            "additionalProperties": false,
            "properties": {
                "Namespace": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": {
            "additionalProperties": false,
            "properties": {
                "Expression": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.Tmpfs": {
            "additionalProperties": false,
            "properties": {
                "ContainerPath": {
                    "type": "string"
                },
                "MountOptions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Size": {
                    "type": "number"
                }
            },
            "required": [
                "Size"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.Ulimit": {
            "additionalProperties": false,
            "properties": {
                "HardLimit": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "SoftLimit": {
                    "type": "number"
                }
            },
            "required": [
                "HardLimit",
                "Name",
                "SoftLimit"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.Volume": {
            "additionalProperties": false,
            "properties": {
                "DockerVolumeConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration"
                },
                "EFSVolumeConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration"
                },
                "Host": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskDefinition.VolumeFrom": {
            "additionalProperties": false,
            "properties": {
                "ReadOnly": {
                    "type": "boolean"
                },
                "SourceContainer": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Cluster": {
                            "type": "string"
                        },
                        "ExternalId": {
                            "type": "string"
                        },
                        "LaunchType": {
                            "type": "string"
                        },
                        "LoadBalancers": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer"
                            },
                            "type": "array"
                        },
                        "NetworkConfiguration": {
                            "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration"
                        },
                        "PlatformVersion": {
                            "type": "string"
                        },
                        "Scale": {
                            "$ref": "#/definitions/AWS::ECS::TaskSet.Scale"
                        },
                        "Service": {
                            "type": "string"
                        },
                        "ServiceRegistries": {
                            "items": {
                                "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry"
                            },
                            "type": "array"
                        },
                        "TaskDefinition": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Cluster",
                        "Service",
                        "TaskDefinition"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECS::TaskSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskSet.AwsVpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AssignPublicIp": {
                    "type": "string"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::ECS::TaskSet.LoadBalancer": {
            "additionalProperties": false,
            "properties": {
                "ContainerName": {
                    "type": "string"
                },
                "ContainerPort": {
                    "type": "number"
                },
                "LoadBalancerName": {
                    "type": "string"
                },
                "TargetGroupArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskSet.NetworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AwsVpcConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskSet.Scale": {
            "additionalProperties": false,
            "properties": {
                "Unit": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ECS::TaskSet.ServiceRegistry": {
            "additionalProperties": false,
            "properties": {
                "ContainerName": {
                    "type": "string"
                },
                "ContainerPort": {
                    "type": "number"
                },
                "Port": {
                    "type": "number"
                },
                "RegistryArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EFS::AccessPoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessPointTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag"
                            },
                            "type": "array"
                        },
                        "ClientToken": {
                            "type": "string"
                        },
                        "FileSystemId": {
                            "type": "string"
                        },
                        "PosixUser": {
                            "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser"
                        },
                        "RootDirectory": {
                            "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory"
                        }
                    },
                    "required": [
                        "FileSystemId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EFS::AccessPoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EFS::AccessPoint.AccessPointTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EFS::AccessPoint.CreationInfo": {
            "additionalProperties": false,
            "properties": {
                "OwnerGid": {
                    "type": "string"
                },
                "OwnerUid": {
                    "type": "string"
                },
                "Permissions": {
                    "type": "string"
                }
            },
            "required": [
                "OwnerGid",
                "OwnerUid",
                "Permissions"
            ],
            "type": "object"
        },
        "AWS::EFS::AccessPoint.PosixUser": {
            "additionalProperties": false,
            "properties": {
                "Gid": {
                    "type": "string"
                },
                "SecondaryGids": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Uid": {
                    "type": "string"
                }
            },
            "required": [
                "Gid",
                "Uid"
            ],
            "type": "object"
        },
        "AWS::EFS::AccessPoint.RootDirectory": {
            "additionalProperties": false,
            "properties": {
                "CreationInfo": {
                    "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo"
                },
                "Path": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EFS::FileSystem": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AvailabilityZoneName": {
                            "type": "string"
                        },
                        "BackupPolicy": {
                            "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy"
                        },
                        "BypassPolicyLockoutSafetyCheck": {
                            "type": "boolean"
                        },
                        "Encrypted": {
                            "type": "boolean"
                        },
                        "FileSystemPolicy": {
                            "type": "object"
                        },
                        "FileSystemTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag"
                            },
                            "type": "array"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "LifecyclePolicies": {
                            "items": {
                                "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy"
                            },
                            "type": "array"
                        },
                        "PerformanceMode": {
                            "type": "string"
                        },
                        "ProvisionedThroughputInMibps": {
                            "type": "number"
                        },
                        "ThroughputMode": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EFS::FileSystem"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EFS::FileSystem.BackupPolicy": {
            "additionalProperties": false,
            "properties": {
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::EFS::FileSystem.ElasticFileSystemTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::EFS::FileSystem.LifecyclePolicy": {
            "additionalProperties": false,
            "properties": {
                "TransitionToIA": {
                    "type": "string"
                }
            },
            "required": [
                "TransitionToIA"
            ],
            "type": "object"
        },
        "AWS::EFS::MountTarget": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FileSystemId": {
                            "type": "string"
                        },
                        "IpAddress": {
                            "type": "string"
                        },
                        "SecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FileSystemId",
                        "SecurityGroups",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EFS::MountTarget"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EKS::Addon": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AddonName": {
                            "type": "string"
                        },
                        "AddonVersion": {
                            "type": "string"
                        },
                        "ClusterName": {
                            "type": "string"
                        },
                        "ResolveConflicts": {
                            "type": "string"
                        },
                        "ServiceAccountRoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AddonName",
                        "ClusterName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EKS::Addon"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EKS::Cluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EncryptionConfig": {
                            "items": {
                                "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig"
                            },
                            "type": "array"
                        },
                        "KubernetesNetworkConfig": {
                            "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ResourcesVpcConfig": {
                            "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Version": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResourcesVpcConfig",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EKS::Cluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EKS::Cluster.EncryptionConfig": {
            "additionalProperties": false,
            "properties": {
                "Provider": {
                    "$ref": "#/definitions/AWS::EKS::Cluster.Provider"
                },
                "Resources": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EKS::Cluster.KubernetesNetworkConfig": {
            "additionalProperties": false,
            "properties": {
                "ServiceIpv4Cidr": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EKS::Cluster.Provider": {
            "additionalProperties": false,
            "properties": {
                "KeyArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EKS::Cluster.ResourcesVpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SubnetIds"
            ],
            "type": "object"
        },
        "AWS::EKS::FargateProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClusterName": {
                            "type": "string"
                        },
                        "FargateProfileName": {
                            "type": "string"
                        },
                        "PodExecutionRoleArn": {
                            "type": "string"
                        },
                        "Selectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector"
                            },
                            "type": "array"
                        },
                        "Subnets": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ClusterName",
                        "PodExecutionRoleArn",
                        "Selectors"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EKS::FargateProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EKS::FargateProfile.Label": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::EKS::FargateProfile.Selector": {
            "additionalProperties": false,
            "properties": {
                "Labels": {
                    "items": {
                        "$ref": "#/definitions/AWS::EKS::FargateProfile.Label"
                    },
                    "type": "array"
                },
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "Namespace"
            ],
            "type": "object"
        },
        "AWS::EKS::Nodegroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AmiType": {
                            "type": "string"
                        },
                        "CapacityType": {
                            "type": "string"
                        },
                        "ClusterName": {
                            "type": "string"
                        },
                        "DiskSize": {
                            "type": "number"
                        },
                        "ForceUpdateEnabled": {
                            "type": "boolean"
                        },
                        "InstanceTypes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Labels": {
                            "type": "object"
                        },
                        "LaunchTemplate": {
                            "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification"
                        },
                        "NodeRole": {
                            "type": "string"
                        },
                        "NodegroupName": {
                            "type": "string"
                        },
                        "ReleaseVersion": {
                            "type": "string"
                        },
                        "RemoteAccess": {
                            "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess"
                        },
                        "ScalingConfig": {
                            "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig"
                        },
                        "Subnets": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Taints": {
                            "items": {
                                "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint"
                            },
                            "type": "array"
                        },
                        "Version": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ClusterName",
                        "NodeRole",
                        "Subnets"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EKS::Nodegroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EKS::Nodegroup.LaunchTemplateSpecification": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EKS::Nodegroup.RemoteAccess": {
            "additionalProperties": false,
            "properties": {
                "Ec2SshKey": {
                    "type": "string"
                },
                "SourceSecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Ec2SshKey"
            ],
            "type": "object"
        },
        "AWS::EKS::Nodegroup.ScalingConfig": {
            "additionalProperties": false,
            "properties": {
                "DesiredSize": {
                    "type": "number"
                },
                "MaxSize": {
                    "type": "number"
                },
                "MinSize": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EKS::Nodegroup.Taint": {
            "additionalProperties": false,
            "properties": {
                "Effect": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdditionalInfo": {
                            "type": "object"
                        },
                        "Applications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EMR::Cluster.Application"
                            },
                            "type": "array"
                        },
                        "AutoScalingRole": {
                            "type": "string"
                        },
                        "BootstrapActions": {
                            "items": {
                                "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig"
                            },
                            "type": "array"
                        },
                        "Configurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::EMR::Cluster.Configuration"
                            },
                            "type": "array"
                        },
                        "CustomAmiId": {
                            "type": "string"
                        },
                        "EbsRootVolumeSize": {
                            "type": "number"
                        },
                        "Instances": {
                            "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig"
                        },
                        "JobFlowRole": {
                            "type": "string"
                        },
                        "KerberosAttributes": {
                            "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes"
                        },
                        "LogEncryptionKmsKeyId": {
                            "type": "string"
                        },
                        "LogUri": {
                            "type": "string"
                        },
                        "ManagedScalingPolicy": {
                            "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ReleaseLabel": {
                            "type": "string"
                        },
                        "ScaleDownBehavior": {
                            "type": "string"
                        },
                        "SecurityConfiguration": {
                            "type": "string"
                        },
                        "ServiceRole": {
                            "type": "string"
                        },
                        "StepConcurrencyLevel": {
                            "type": "number"
                        },
                        "Steps": {
                            "items": {
                                "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VisibleToAllUsers": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "Instances",
                        "JobFlowRole",
                        "Name",
                        "ServiceRole"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMR::Cluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.Application": {
            "additionalProperties": false,
            "properties": {
                "AdditionalInfo": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Args": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.AutoScalingPolicy": {
            "additionalProperties": false,
            "properties": {
                "Constraints": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints"
                },
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Constraints",
                "Rules"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.BootstrapActionConfig": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "ScriptBootstrapAction": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig"
                }
            },
            "required": [
                "Name",
                "ScriptBootstrapAction"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.CloudWatchAlarmDefinition": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension"
                    },
                    "type": "array"
                },
                "EvaluationPeriods": {
                    "type": "number"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "Period": {
                    "type": "number"
                },
                "Statistic": {
                    "type": "string"
                },
                "Threshold": {
                    "type": "number"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "ComparisonOperator",
                "MetricName",
                "Period",
                "Threshold"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.ComputeLimits": {
            "additionalProperties": false,
            "properties": {
                "MaximumCapacityUnits": {
                    "type": "number"
                },
                "MaximumCoreCapacityUnits": {
                    "type": "number"
                },
                "MaximumOnDemandCapacityUnits": {
                    "type": "number"
                },
                "MinimumCapacityUnits": {
                    "type": "number"
                },
                "UnitType": {
                    "type": "string"
                }
            },
            "required": [
                "MaximumCapacityUnits",
                "MinimumCapacityUnits",
                "UnitType"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.Configuration": {
            "additionalProperties": false,
            "properties": {
                "Classification": {
                    "type": "string"
                },
                "ConfigurationProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Configurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.Configuration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.EbsBlockDeviceConfig": {
            "additionalProperties": false,
            "properties": {
                "VolumeSpecification": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification"
                },
                "VolumesPerInstance": {
                    "type": "number"
                }
            },
            "required": [
                "VolumeSpecification"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.EbsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EbsBlockDeviceConfigs": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig"
                    },
                    "type": "array"
                },
                "EbsOptimized": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.HadoopJarStepConfig": {
            "additionalProperties": false,
            "properties": {
                "Args": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Jar": {
                    "type": "string"
                },
                "MainClass": {
                    "type": "string"
                },
                "StepProperties": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Jar"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.InstanceFleetConfig": {
            "additionalProperties": false,
            "properties": {
                "InstanceTypeConfigs": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig"
                    },
                    "type": "array"
                },
                "LaunchSpecifications": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications"
                },
                "Name": {
                    "type": "string"
                },
                "TargetOnDemandCapacity": {
                    "type": "number"
                },
                "TargetSpotCapacity": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": {
            "additionalProperties": false,
            "properties": {
                "OnDemandSpecification": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification"
                },
                "SpotSpecification": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.InstanceGroupConfig": {
            "additionalProperties": false,
            "properties": {
                "AutoScalingPolicy": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy"
                },
                "BidPrice": {
                    "type": "string"
                },
                "Configurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.Configuration"
                    },
                    "type": "array"
                },
                "EbsConfiguration": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration"
                },
                "InstanceCount": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "Market": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceCount",
                "InstanceType"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.InstanceTypeConfig": {
            "additionalProperties": false,
            "properties": {
                "BidPrice": {
                    "type": "string"
                },
                "BidPriceAsPercentageOfOnDemandPrice": {
                    "type": "number"
                },
                "Configurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Cluster.Configuration"
                    },
                    "type": "array"
                },
                "EbsConfiguration": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration"
                },
                "InstanceType": {
                    "type": "string"
                },
                "WeightedCapacity": {
                    "type": "number"
                }
            },
            "required": [
                "InstanceType"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.JobFlowInstancesConfig": {
            "additionalProperties": false,
            "properties": {
                "AdditionalMasterSecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AdditionalSlaveSecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CoreInstanceFleet": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig"
                },
                "CoreInstanceGroup": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig"
                },
                "Ec2KeyName": {
                    "type": "string"
                },
                "Ec2SubnetId": {
                    "type": "string"
                },
                "Ec2SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "EmrManagedMasterSecurityGroup": {
                    "type": "string"
                },
                "EmrManagedSlaveSecurityGroup": {
                    "type": "string"
                },
                "HadoopVersion": {
                    "type": "string"
                },
                "KeepJobFlowAliveWhenNoSteps": {
                    "type": "boolean"
                },
                "MasterInstanceFleet": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig"
                },
                "MasterInstanceGroup": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig"
                },
                "Placement": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType"
                },
                "ServiceAccessSecurityGroup": {
                    "type": "string"
                },
                "TerminationProtected": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.KerberosAttributes": {
            "additionalProperties": false,
            "properties": {
                "ADDomainJoinPassword": {
                    "type": "string"
                },
                "ADDomainJoinUser": {
                    "type": "string"
                },
                "CrossRealmTrustPrincipalPassword": {
                    "type": "string"
                },
                "KdcAdminPassword": {
                    "type": "string"
                },
                "Realm": {
                    "type": "string"
                }
            },
            "required": [
                "KdcAdminPassword",
                "Realm"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.KeyValue": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.ManagedScalingPolicy": {
            "additionalProperties": false,
            "properties": {
                "ComputeLimits": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Cluster.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.OnDemandProvisioningSpecification": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                }
            },
            "required": [
                "AllocationStrategy"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.PlacementType": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                }
            },
            "required": [
                "AvailabilityZone"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.ScalingAction": {
            "additionalProperties": false,
            "properties": {
                "Market": {
                    "type": "string"
                },
                "SimpleScalingPolicyConfiguration": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration"
                }
            },
            "required": [
                "SimpleScalingPolicyConfiguration"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.ScalingConstraints": {
            "additionalProperties": false,
            "properties": {
                "MaxCapacity": {
                    "type": "number"
                },
                "MinCapacity": {
                    "type": "number"
                }
            },
            "required": [
                "MaxCapacity",
                "MinCapacity"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.ScalingRule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction"
                },
                "Description": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Trigger": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger"
                }
            },
            "required": [
                "Action",
                "Name",
                "Trigger"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.ScalingTrigger": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchAlarmDefinition": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition"
                }
            },
            "required": [
                "CloudWatchAlarmDefinition"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.ScriptBootstrapActionConfig": {
            "additionalProperties": false,
            "properties": {
                "Args": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Path": {
                    "type": "string"
                }
            },
            "required": [
                "Path"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AdjustmentType": {
                    "type": "string"
                },
                "CoolDown": {
                    "type": "number"
                },
                "ScalingAdjustment": {
                    "type": "number"
                }
            },
            "required": [
                "ScalingAdjustment"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.SpotProvisioningSpecification": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                },
                "BlockDurationMinutes": {
                    "type": "number"
                },
                "TimeoutAction": {
                    "type": "string"
                },
                "TimeoutDurationMinutes": {
                    "type": "number"
                }
            },
            "required": [
                "TimeoutAction",
                "TimeoutDurationMinutes"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.StepConfig": {
            "additionalProperties": false,
            "properties": {
                "ActionOnFailure": {
                    "type": "string"
                },
                "HadoopJarStep": {
                    "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "HadoopJarStep",
                "Name"
            ],
            "type": "object"
        },
        "AWS::EMR::Cluster.VolumeSpecification": {
            "additionalProperties": false,
            "properties": {
                "Iops": {
                    "type": "number"
                },
                "SizeInGB": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "required": [
                "SizeInGB",
                "VolumeType"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClusterId": {
                            "type": "string"
                        },
                        "InstanceFleetType": {
                            "type": "string"
                        },
                        "InstanceTypeConfigs": {
                            "items": {
                                "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig"
                            },
                            "type": "array"
                        },
                        "LaunchSpecifications": {
                            "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "TargetOnDemandCapacity": {
                            "type": "number"
                        },
                        "TargetSpotCapacity": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "ClusterId",
                        "InstanceFleetType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMR::InstanceFleetConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.Configuration": {
            "additionalProperties": false,
            "properties": {
                "Classification": {
                    "type": "string"
                },
                "ConfigurationProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Configurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": {
            "additionalProperties": false,
            "properties": {
                "VolumeSpecification": {
                    "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification"
                },
                "VolumesPerInstance": {
                    "type": "number"
                }
            },
            "required": [
                "VolumeSpecification"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.EbsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EbsBlockDeviceConfigs": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig"
                    },
                    "type": "array"
                },
                "EbsOptimized": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": {
            "additionalProperties": false,
            "properties": {
                "OnDemandSpecification": {
                    "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification"
                },
                "SpotSpecification": {
                    "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification"
                }
            },
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": {
            "additionalProperties": false,
            "properties": {
                "BidPrice": {
                    "type": "string"
                },
                "BidPriceAsPercentageOfOnDemandPrice": {
                    "type": "number"
                },
                "Configurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration"
                    },
                    "type": "array"
                },
                "EbsConfiguration": {
                    "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration"
                },
                "InstanceType": {
                    "type": "string"
                },
                "WeightedCapacity": {
                    "type": "number"
                }
            },
            "required": [
                "InstanceType"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                }
            },
            "required": [
                "AllocationStrategy"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                },
                "BlockDurationMinutes": {
                    "type": "number"
                },
                "TimeoutAction": {
                    "type": "string"
                },
                "TimeoutDurationMinutes": {
                    "type": "number"
                }
            },
            "required": [
                "TimeoutAction",
                "TimeoutDurationMinutes"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceFleetConfig.VolumeSpecification": {
            "additionalProperties": false,
            "properties": {
                "Iops": {
                    "type": "number"
                },
                "SizeInGB": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "required": [
                "SizeInGB",
                "VolumeType"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingPolicy": {
                            "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy"
                        },
                        "BidPrice": {
                            "type": "string"
                        },
                        "Configurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration"
                            },
                            "type": "array"
                        },
                        "EbsConfiguration": {
                            "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration"
                        },
                        "InstanceCount": {
                            "type": "number"
                        },
                        "InstanceRole": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "JobFlowId": {
                            "type": "string"
                        },
                        "Market": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceCount",
                        "InstanceRole",
                        "InstanceType",
                        "JobFlowId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMR::InstanceGroupConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": {
            "additionalProperties": false,
            "properties": {
                "Constraints": {
                    "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints"
                },
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Constraints",
                "Rules"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension"
                    },
                    "type": "array"
                },
                "EvaluationPeriods": {
                    "type": "number"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "Period": {
                    "type": "number"
                },
                "Statistic": {
                    "type": "string"
                },
                "Threshold": {
                    "type": "number"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "ComparisonOperator",
                "MetricName",
                "Period",
                "Threshold"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.Configuration": {
            "additionalProperties": false,
            "properties": {
                "Classification": {
                    "type": "string"
                },
                "ConfigurationProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Configurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": {
            "additionalProperties": false,
            "properties": {
                "VolumeSpecification": {
                    "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification"
                },
                "VolumesPerInstance": {
                    "type": "number"
                }
            },
            "required": [
                "VolumeSpecification"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.EbsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EbsBlockDeviceConfigs": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig"
                    },
                    "type": "array"
                },
                "EbsOptimized": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.ScalingAction": {
            "additionalProperties": false,
            "properties": {
                "Market": {
                    "type": "string"
                },
                "SimpleScalingPolicyConfiguration": {
                    "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration"
                }
            },
            "required": [
                "SimpleScalingPolicyConfiguration"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.ScalingConstraints": {
            "additionalProperties": false,
            "properties": {
                "MaxCapacity": {
                    "type": "number"
                },
                "MinCapacity": {
                    "type": "number"
                }
            },
            "required": [
                "MaxCapacity",
                "MinCapacity"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.ScalingRule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction"
                },
                "Description": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Trigger": {
                    "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger"
                }
            },
            "required": [
                "Action",
                "Name",
                "Trigger"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.ScalingTrigger": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchAlarmDefinition": {
                    "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition"
                }
            },
            "required": [
                "CloudWatchAlarmDefinition"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AdjustmentType": {
                    "type": "string"
                },
                "CoolDown": {
                    "type": "number"
                },
                "ScalingAdjustment": {
                    "type": "number"
                }
            },
            "required": [
                "ScalingAdjustment"
            ],
            "type": "object"
        },
        "AWS::EMR::InstanceGroupConfig.VolumeSpecification": {
            "additionalProperties": false,
            "properties": {
                "Iops": {
                    "type": "number"
                },
                "SizeInGB": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "required": [
                "SizeInGB",
                "VolumeType"
            ],
            "type": "object"
        },
        "AWS::EMR::SecurityConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "SecurityConfiguration": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "SecurityConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMR::SecurityConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMR::Step": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ActionOnFailure": {
                            "type": "string"
                        },
                        "HadoopJarStep": {
                            "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig"
                        },
                        "JobFlowId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ActionOnFailure",
                        "HadoopJarStep",
                        "JobFlowId",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMR::Step"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMR::Step.HadoopJarStepConfig": {
            "additionalProperties": false,
            "properties": {
                "Args": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Jar": {
                    "type": "string"
                },
                "MainClass": {
                    "type": "string"
                },
                "StepProperties": {
                    "items": {
                        "$ref": "#/definitions/AWS::EMR::Step.KeyValue"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Jar"
            ],
            "type": "object"
        },
        "AWS::EMR::Step.KeyValue": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EMR::Studio": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthMode": {
                            "type": "string"
                        },
                        "DefaultS3Location": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EngineSecurityGroupId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ServiceRole": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserRole": {
                            "type": "string"
                        },
                        "VpcId": {
                            "type": "string"
                        },
                        "WorkspaceSecurityGroupId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AuthMode",
                        "DefaultS3Location",
                        "EngineSecurityGroupId",
                        "Name",
                        "ServiceRole",
                        "SubnetIds",
                        "UserRole",
                        "VpcId",
                        "WorkspaceSecurityGroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMR::Studio"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMR::StudioSessionMapping": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "IdentityName": {
                            "type": "string"
                        },
                        "IdentityType": {
                            "type": "string"
                        },
                        "SessionPolicyArn": {
                            "type": "string"
                        },
                        "StudioId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "IdentityName",
                        "IdentityType",
                        "SessionPolicyArn",
                        "StudioId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMR::StudioSessionMapping"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMRContainers::VirtualCluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContainerProvider": {
                            "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ContainerProvider",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EMRContainers::VirtualCluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EMRContainers::VirtualCluster.ContainerInfo": {
            "additionalProperties": false,
            "properties": {
                "EksInfo": {
                    "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo"
                }
            },
            "required": [
                "EksInfo"
            ],
            "type": "object"
        },
        "AWS::EMRContainers::VirtualCluster.ContainerProvider": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Info": {
                    "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Id",
                "Info",
                "Type"
            ],
            "type": "object"
        },
        "AWS::EMRContainers::VirtualCluster.EksInfo": {
            "additionalProperties": false,
            "properties": {
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "Namespace"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::CacheCluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AZMode": {
                            "type": "string"
                        },
                        "AutoMinorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "CacheNodeType": {
                            "type": "string"
                        },
                        "CacheParameterGroupName": {
                            "type": "string"
                        },
                        "CacheSecurityGroupNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "CacheSubnetGroupName": {
                            "type": "string"
                        },
                        "ClusterName": {
                            "type": "string"
                        },
                        "Engine": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "LogDeliveryConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest"
                            },
                            "type": "array"
                        },
                        "NotificationTopicArn": {
                            "type": "string"
                        },
                        "NumCacheNodes": {
                            "type": "number"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "PreferredAvailabilityZone": {
                            "type": "string"
                        },
                        "PreferredAvailabilityZones": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "SnapshotArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SnapshotName": {
                            "type": "string"
                        },
                        "SnapshotRetentionLimit": {
                            "type": "number"
                        },
                        "SnapshotWindow": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CacheNodeType",
                        "Engine",
                        "NumCacheNodes"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::CacheCluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": {
            "additionalProperties": false,
            "properties": {
                "LogGroup": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::CacheCluster.DestinationDetails": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogsDetails": {
                    "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails"
                },
                "KinesisFirehoseDetails": {
                    "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": {
            "additionalProperties": false,
            "properties": {
                "DeliveryStream": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": {
            "additionalProperties": false,
            "properties": {
                "DestinationDetails": {
                    "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails"
                },
                "DestinationType": {
                    "type": "string"
                },
                "LogFormat": {
                    "type": "string"
                },
                "LogType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::GlobalReplicationGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutomaticFailoverEnabled": {
                            "type": "boolean"
                        },
                        "CacheNodeType": {
                            "type": "string"
                        },
                        "CacheParameterGroupName": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "GlobalNodeGroupCount": {
                            "type": "number"
                        },
                        "GlobalReplicationGroupDescription": {
                            "type": "string"
                        },
                        "GlobalReplicationGroupIdSuffix": {
                            "type": "string"
                        },
                        "Members": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember"
                            },
                            "type": "array"
                        },
                        "RegionalConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Members"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::GlobalReplicationGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": {
            "additionalProperties": false,
            "properties": {
                "ReplicationGroupId": {
                    "type": "string"
                },
                "ReplicationGroupRegion": {
                    "type": "string"
                },
                "Role": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ReplicationGroupId": {
                    "type": "string"
                },
                "ReplicationGroupRegion": {
                    "type": "string"
                },
                "ReshardingConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "NodeGroupId": {
                    "type": "string"
                },
                "PreferredAvailabilityZones": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::ParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CacheParameterGroupFamily": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Properties": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CacheParameterGroupFamily",
                        "Description"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::ParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::ReplicationGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AtRestEncryptionEnabled": {
                            "type": "boolean"
                        },
                        "AuthToken": {
                            "type": "string"
                        },
                        "AutoMinorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AutomaticFailoverEnabled": {
                            "type": "boolean"
                        },
                        "CacheNodeType": {
                            "type": "string"
                        },
                        "CacheParameterGroupName": {
                            "type": "string"
                        },
                        "CacheSecurityGroupNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "CacheSubnetGroupName": {
                            "type": "string"
                        },
                        "Engine": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "GlobalReplicationGroupId": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "LogDeliveryConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest"
                            },
                            "type": "array"
                        },
                        "MultiAZEnabled": {
                            "type": "boolean"
                        },
                        "NodeGroupConfiguration": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration"
                            },
                            "type": "array"
                        },
                        "NotificationTopicArn": {
                            "type": "string"
                        },
                        "NumCacheClusters": {
                            "type": "number"
                        },
                        "NumNodeGroups": {
                            "type": "number"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "PreferredCacheClusterAZs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "PrimaryClusterId": {
                            "type": "string"
                        },
                        "ReplicasPerNodeGroup": {
                            "type": "number"
                        },
                        "ReplicationGroupDescription": {
                            "type": "string"
                        },
                        "ReplicationGroupId": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SnapshotArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SnapshotName": {
                            "type": "string"
                        },
                        "SnapshotRetentionLimit": {
                            "type": "number"
                        },
                        "SnapshotWindow": {
                            "type": "string"
                        },
                        "SnapshottingClusterId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransitEncryptionEnabled": {
                            "type": "boolean"
                        },
                        "UserGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ReplicationGroupDescription"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::ReplicationGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": {
            "additionalProperties": false,
            "properties": {
                "LogGroup": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::ReplicationGroup.DestinationDetails": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogsDetails": {
                    "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails"
                },
                "KinesisFirehoseDetails": {
                    "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": {
            "additionalProperties": false,
            "properties": {
                "DeliveryStream": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": {
            "additionalProperties": false,
            "properties": {
                "DestinationDetails": {
                    "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails"
                },
                "DestinationType": {
                    "type": "string"
                },
                "LogFormat": {
                    "type": "string"
                },
                "LogType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": {
            "additionalProperties": false,
            "properties": {
                "NodeGroupId": {
                    "type": "string"
                },
                "PrimaryAvailabilityZone": {
                    "type": "string"
                },
                "ReplicaAvailabilityZones": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ReplicaCount": {
                    "type": "number"
                },
                "Slots": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElastiCache::SecurityGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::SecurityGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::SecurityGroupIngress": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CacheSecurityGroupName": {
                            "type": "string"
                        },
                        "EC2SecurityGroupName": {
                            "type": "string"
                        },
                        "EC2SecurityGroupOwnerId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CacheSecurityGroupName",
                        "EC2SecurityGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::SecurityGroupIngress"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::SubnetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CacheSubnetGroupName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::SubnetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::User": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessString": {
                            "type": "string"
                        },
                        "Engine": {
                            "type": "string"
                        },
                        "NoPasswordRequired": {
                            "type": "boolean"
                        },
                        "Passwords": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "UserId": {
                            "type": "string"
                        },
                        "UserName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Engine",
                        "UserId",
                        "UserName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::User"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElastiCache::UserGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Engine": {
                            "type": "string"
                        },
                        "UserGroupId": {
                            "type": "string"
                        },
                        "UserIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Engine",
                        "UserGroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElastiCache::UserGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "ResourceLifecycleConfig": {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticBeanstalk::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": {
            "additionalProperties": false,
            "properties": {
                "ServiceRole": {
                    "type": "string"
                },
                "VersionLifecycleConfig": {
                    "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig"
                }
            },
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": {
            "additionalProperties": false,
            "properties": {
                "MaxAgeRule": {
                    "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule"
                },
                "MaxCountRule": {
                    "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule"
                }
            },
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Application.MaxAgeRule": {
            "additionalProperties": false,
            "properties": {
                "DeleteSourceFromS3": {
                    "type": "boolean"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "MaxAgeInDays": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Application.MaxCountRule": {
            "additionalProperties": false,
            "properties": {
                "DeleteSourceFromS3": {
                    "type": "boolean"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "MaxCount": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ElasticBeanstalk::ApplicationVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "SourceBundle": {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "SourceBundle"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticBeanstalk::ApplicationVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": {
            "additionalProperties": false,
            "properties": {
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                }
            },
            "required": [
                "S3Bucket",
                "S3Key"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::ConfigurationTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EnvironmentId": {
                            "type": "string"
                        },
                        "OptionSettings": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting"
                            },
                            "type": "array"
                        },
                        "PlatformArn": {
                            "type": "string"
                        },
                        "SolutionStackName": {
                            "type": "string"
                        },
                        "SourceConfiguration": {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration"
                        }
                    },
                    "required": [
                        "ApplicationName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticBeanstalk::ConfigurationTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": {
            "additionalProperties": false,
            "properties": {
                "Namespace": {
                    "type": "string"
                },
                "OptionName": {
                    "type": "string"
                },
                "ResourceName": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Namespace",
                "OptionName"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ApplicationName": {
                    "type": "string"
                },
                "TemplateName": {
                    "type": "string"
                }
            },
            "required": [
                "ApplicationName",
                "TemplateName"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Environment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "CNAMEPrefix": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EnvironmentName": {
                            "type": "string"
                        },
                        "OperationsRole": {
                            "type": "string"
                        },
                        "OptionSettings": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting"
                            },
                            "type": "array"
                        },
                        "PlatformArn": {
                            "type": "string"
                        },
                        "SolutionStackName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TemplateName": {
                            "type": "string"
                        },
                        "Tier": {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier"
                        },
                        "VersionLabel": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticBeanstalk::Environment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Environment.OptionSetting": {
            "additionalProperties": false,
            "properties": {
                "Namespace": {
                    "type": "string"
                },
                "OptionName": {
                    "type": "string"
                },
                "ResourceName": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Namespace",
                "OptionName"
            ],
            "type": "object"
        },
        "AWS::ElasticBeanstalk::Environment.Tier": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessLoggingPolicy": {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy"
                        },
                        "AppCookieStickinessPolicy": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy"
                            },
                            "type": "array"
                        },
                        "AvailabilityZones": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ConnectionDrainingPolicy": {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy"
                        },
                        "ConnectionSettings": {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings"
                        },
                        "CrossZone": {
                            "type": "boolean"
                        },
                        "HealthCheck": {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck"
                        },
                        "Instances": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "LBCookieStickinessPolicy": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy"
                            },
                            "type": "array"
                        },
                        "Listeners": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners"
                            },
                            "type": "array"
                        },
                        "LoadBalancerName": {
                            "type": "string"
                        },
                        "Policies": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies"
                            },
                            "type": "array"
                        },
                        "Scheme": {
                            "type": "string"
                        },
                        "SecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Subnets": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Listeners"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticLoadBalancing::LoadBalancer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": {
            "additionalProperties": false,
            "properties": {
                "EmitInterval": {
                    "type": "number"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "S3BucketName": {
                    "type": "string"
                },
                "S3BucketPrefix": {
                    "type": "string"
                }
            },
            "required": [
                "Enabled",
                "S3BucketName"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": {
            "additionalProperties": false,
            "properties": {
                "CookieName": {
                    "type": "string"
                },
                "PolicyName": {
                    "type": "string"
                }
            },
            "required": [
                "CookieName",
                "PolicyName"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "Timeout": {
                    "type": "number"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": {
            "additionalProperties": false,
            "properties": {
                "IdleTimeout": {
                    "type": "number"
                }
            },
            "required": [
                "IdleTimeout"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": {
            "additionalProperties": false,
            "properties": {
                "HealthyThreshold": {
                    "type": "string"
                },
                "Interval": {
                    "type": "string"
                },
                "Target": {
                    "type": "string"
                },
                "Timeout": {
                    "type": "string"
                },
                "UnhealthyThreshold": {
                    "type": "string"
                }
            },
            "required": [
                "HealthyThreshold",
                "Interval",
                "Target",
                "Timeout",
                "UnhealthyThreshold"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": {
            "additionalProperties": false,
            "properties": {
                "CookieExpirationPeriod": {
                    "type": "string"
                },
                "PolicyName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": {
            "additionalProperties": false,
            "properties": {
                "InstancePort": {
                    "type": "string"
                },
                "InstanceProtocol": {
                    "type": "string"
                },
                "LoadBalancerPort": {
                    "type": "string"
                },
                "PolicyNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Protocol": {
                    "type": "string"
                },
                "SSLCertificateId": {
                    "type": "string"
                }
            },
            "required": [
                "InstancePort",
                "LoadBalancerPort",
                "Protocol"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancing::LoadBalancer.Policies": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "items": {
                        "type": "object"
                    },
                    "type": "array"
                },
                "InstancePorts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "LoadBalancerPorts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "PolicyName": {
                    "type": "string"
                },
                "PolicyType": {
                    "type": "string"
                }
            },
            "required": [
                "Attributes",
                "PolicyName",
                "PolicyType"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AlpnPolicy": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Certificates": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate"
                            },
                            "type": "array"
                        },
                        "DefaultActions": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action"
                            },
                            "type": "array"
                        },
                        "LoadBalancerArn": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "Protocol": {
                            "type": "string"
                        },
                        "SslPolicy": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DefaultActions",
                        "LoadBalancerArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticLoadBalancingV2::Listener"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.Action": {
            "additionalProperties": false,
            "properties": {
                "AuthenticateCognitoConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig"
                },
                "AuthenticateOidcConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig"
                },
                "FixedResponseConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig"
                },
                "ForwardConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig"
                },
                "Order": {
                    "type": "number"
                },
                "RedirectConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig"
                },
                "TargetGroupArn": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthenticationRequestExtraParams": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "OnUnauthenticatedRequest": {
                    "type": "string"
                },
                "Scope": {
                    "type": "string"
                },
                "SessionCookieName": {
                    "type": "string"
                },
                "SessionTimeout": {
                    "type": "string"
                },
                "UserPoolArn": {
                    "type": "string"
                },
                "UserPoolClientId": {
                    "type": "string"
                },
                "UserPoolDomain": {
                    "type": "string"
                }
            },
            "required": [
                "UserPoolArn",
                "UserPoolClientId",
                "UserPoolDomain"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthenticationRequestExtraParams": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "AuthorizationEndpoint": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "Issuer": {
                    "type": "string"
                },
                "OnUnauthenticatedRequest": {
                    "type": "string"
                },
                "Scope": {
                    "type": "string"
                },
                "SessionCookieName": {
                    "type": "string"
                },
                "SessionTimeout": {
                    "type": "string"
                },
                "TokenEndpoint": {
                    "type": "string"
                },
                "UserInfoEndpoint": {
                    "type": "string"
                }
            },
            "required": [
                "AuthorizationEndpoint",
                "ClientId",
                "ClientSecret",
                "Issuer",
                "TokenEndpoint",
                "UserInfoEndpoint"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.Certificate": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": {
            "additionalProperties": false,
            "properties": {
                "ContentType": {
                    "type": "string"
                },
                "MessageBody": {
                    "type": "string"
                },
                "StatusCode": {
                    "type": "string"
                }
            },
            "required": [
                "StatusCode"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": {
            "additionalProperties": false,
            "properties": {
                "TargetGroupStickinessConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig"
                },
                "TargetGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": {
            "additionalProperties": false,
            "properties": {
                "Host": {
                    "type": "string"
                },
                "Path": {
                    "type": "string"
                },
                "Port": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "Query": {
                    "type": "string"
                },
                "StatusCode": {
                    "type": "string"
                }
            },
            "required": [
                "StatusCode"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": {
            "additionalProperties": false,
            "properties": {
                "DurationSeconds": {
                    "type": "number"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": {
            "additionalProperties": false,
            "properties": {
                "TargetGroupArn": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerCertificate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Certificates": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate"
                            },
                            "type": "array"
                        },
                        "ListenerArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Certificates",
                        "ListenerArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticLoadBalancingV2::ListenerCertificate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Actions": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action"
                            },
                            "type": "array"
                        },
                        "Conditions": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition"
                            },
                            "type": "array"
                        },
                        "ListenerArn": {
                            "type": "string"
                        },
                        "Priority": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Actions",
                        "Conditions",
                        "ListenerArn",
                        "Priority"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticLoadBalancingV2::ListenerRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.Action": {
            "additionalProperties": false,
            "properties": {
                "AuthenticateCognitoConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig"
                },
                "AuthenticateOidcConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig"
                },
                "FixedResponseConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig"
                },
                "ForwardConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig"
                },
                "Order": {
                    "type": "number"
                },
                "RedirectConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig"
                },
                "TargetGroupArn": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthenticationRequestExtraParams": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "OnUnauthenticatedRequest": {
                    "type": "string"
                },
                "Scope": {
                    "type": "string"
                },
                "SessionCookieName": {
                    "type": "string"
                },
                "SessionTimeout": {
                    "type": "number"
                },
                "UserPoolArn": {
                    "type": "string"
                },
                "UserPoolClientId": {
                    "type": "string"
                },
                "UserPoolDomain": {
                    "type": "string"
                }
            },
            "required": [
                "UserPoolArn",
                "UserPoolClientId",
                "UserPoolDomain"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthenticationRequestExtraParams": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "AuthorizationEndpoint": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "Issuer": {
                    "type": "string"
                },
                "OnUnauthenticatedRequest": {
                    "type": "string"
                },
                "Scope": {
                    "type": "string"
                },
                "SessionCookieName": {
                    "type": "string"
                },
                "SessionTimeout": {
                    "type": "number"
                },
                "TokenEndpoint": {
                    "type": "string"
                },
                "UseExistingClientSecret": {
                    "type": "boolean"
                },
                "UserInfoEndpoint": {
                    "type": "string"
                }
            },
            "required": [
                "AuthorizationEndpoint",
                "ClientId",
                "ClientSecret",
                "Issuer",
                "TokenEndpoint",
                "UserInfoEndpoint"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": {
            "additionalProperties": false,
            "properties": {
                "ContentType": {
                    "type": "string"
                },
                "MessageBody": {
                    "type": "string"
                },
                "StatusCode": {
                    "type": "string"
                }
            },
            "required": [
                "StatusCode"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": {
            "additionalProperties": false,
            "properties": {
                "TargetGroupStickinessConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig"
                },
                "TargetGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": {
            "additionalProperties": false,
            "properties": {
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": {
            "additionalProperties": false,
            "properties": {
                "HttpHeaderName": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": {
            "additionalProperties": false,
            "properties": {
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": {
            "additionalProperties": false,
            "properties": {
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": {
            "additionalProperties": false,
            "properties": {
                "Values": {
                    "items": {
                        "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": {
            "additionalProperties": false,
            "properties": {
                "Host": {
                    "type": "string"
                },
                "Path": {
                    "type": "string"
                },
                "Port": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "Query": {
                    "type": "string"
                },
                "StatusCode": {
                    "type": "string"
                }
            },
            "required": [
                "StatusCode"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": {
            "additionalProperties": false,
            "properties": {
                "Field": {
                    "type": "string"
                },
                "HostHeaderConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig"
                },
                "HttpHeaderConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig"
                },
                "HttpRequestMethodConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig"
                },
                "PathPatternConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig"
                },
                "QueryStringConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig"
                },
                "SourceIpConfig": {
                    "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": {
            "additionalProperties": false,
            "properties": {
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": {
            "additionalProperties": false,
            "properties": {
                "DurationSeconds": {
                    "type": "number"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": {
            "additionalProperties": false,
            "properties": {
                "TargetGroupArn": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::LoadBalancer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "IpAddressType": {
                            "type": "string"
                        },
                        "LoadBalancerAttributes": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Scheme": {
                            "type": "string"
                        },
                        "SecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetMappings": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping"
                            },
                            "type": "array"
                        },
                        "Subnets": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticLoadBalancingV2::LoadBalancer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": {
            "additionalProperties": false,
            "properties": {
                "AllocationId": {
                    "type": "string"
                },
                "IPv6Address": {
                    "type": "string"
                },
                "PrivateIPv4Address": {
                    "type": "string"
                },
                "SubnetId": {
                    "type": "string"
                }
            },
            "required": [
                "SubnetId"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::TargetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HealthCheckEnabled": {
                            "type": "boolean"
                        },
                        "HealthCheckIntervalSeconds": {
                            "type": "number"
                        },
                        "HealthCheckPath": {
                            "type": "string"
                        },
                        "HealthCheckPort": {
                            "type": "string"
                        },
                        "HealthCheckProtocol": {
                            "type": "string"
                        },
                        "HealthCheckTimeoutSeconds": {
                            "type": "number"
                        },
                        "HealthyThresholdCount": {
                            "type": "number"
                        },
                        "Matcher": {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "Protocol": {
                            "type": "string"
                        },
                        "ProtocolVersion": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetGroupAttributes": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute"
                            },
                            "type": "array"
                        },
                        "TargetType": {
                            "type": "string"
                        },
                        "Targets": {
                            "items": {
                                "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription"
                            },
                            "type": "array"
                        },
                        "UnhealthyThresholdCount": {
                            "type": "number"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ElasticLoadBalancingV2::TargetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": {
            "additionalProperties": false,
            "properties": {
                "GrpcCode": {
                    "type": "string"
                },
                "HttpCode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessPolicies": {
                            "type": "object"
                        },
                        "AdvancedOptions": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "AdvancedSecurityOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput"
                        },
                        "CognitoOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions"
                        },
                        "DomainEndpointOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "EBSOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions"
                        },
                        "ElasticsearchClusterConfig": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig"
                        },
                        "ElasticsearchVersion": {
                            "type": "string"
                        },
                        "EncryptionAtRestOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions"
                        },
                        "LogPublishingOptions": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption"
                                }
                            },
                            "type": "object"
                        },
                        "NodeToNodeEncryptionOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions"
                        },
                        "SnapshotOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VPCOptions": {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Elasticsearch::Domain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "InternalUserDatabaseEnabled": {
                    "type": "boolean"
                },
                "MasterUserOptions": {
                    "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.CognitoOptions": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "IdentityPoolId": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "UserPoolId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.DomainEndpointOptions": {
            "additionalProperties": false,
            "properties": {
                "CustomEndpoint": {
                    "type": "string"
                },
                "CustomEndpointCertificateArn": {
                    "type": "string"
                },
                "CustomEndpointEnabled": {
                    "type": "boolean"
                },
                "EnforceHTTPS": {
                    "type": "boolean"
                },
                "TLSSecurityPolicy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.EBSOptions": {
            "additionalProperties": false,
            "properties": {
                "EBSEnabled": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": {
            "additionalProperties": false,
            "properties": {
                "DedicatedMasterCount": {
                    "type": "number"
                },
                "DedicatedMasterEnabled": {
                    "type": "boolean"
                },
                "DedicatedMasterType": {
                    "type": "string"
                },
                "InstanceCount": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "WarmCount": {
                    "type": "number"
                },
                "WarmEnabled": {
                    "type": "boolean"
                },
                "WarmType": {
                    "type": "string"
                },
                "ZoneAwarenessConfig": {
                    "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig"
                },
                "ZoneAwarenessEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "KmsKeyId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.LogPublishingOption": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogsLogGroupArn": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.MasterUserOptions": {
            "additionalProperties": false,
            "properties": {
                "MasterUserARN": {
                    "type": "string"
                },
                "MasterUserName": {
                    "type": "string"
                },
                "MasterUserPassword": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.SnapshotOptions": {
            "additionalProperties": false,
            "properties": {
                "AutomatedSnapshotStartHour": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.VPCOptions": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZoneCount": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EventSchemas::Discoverer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "SourceArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SourceArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EventSchemas::Discoverer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EventSchemas::Discoverer.TagsEntry": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::EventSchemas::Registry": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "RegistryName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EventSchemas::Registry"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EventSchemas::Registry.TagsEntry": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::EventSchemas::RegistryPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Policy": {
                            "type": "object"
                        },
                        "RegistryName": {
                            "type": "string"
                        },
                        "RevisionId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Policy",
                        "RegistryName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EventSchemas::RegistryPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EventSchemas::Schema": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Content": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "RegistryName": {
                            "type": "string"
                        },
                        "SchemaName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Content",
                        "RegistryName",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EventSchemas::Schema"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EventSchemas::Schema.TagsEntry": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Events::ApiDestination": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectionArn": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "HttpMethod": {
                            "type": "string"
                        },
                        "InvocationEndpoint": {
                            "type": "string"
                        },
                        "InvocationRateLimitPerSecond": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConnectionArn",
                        "HttpMethod",
                        "InvocationEndpoint"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Events::ApiDestination"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Events::Archive": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ArchiveName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EventPattern": {
                            "type": "object"
                        },
                        "RetentionDays": {
                            "type": "number"
                        },
                        "SourceArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SourceArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Events::Archive"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Events::Connection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthParameters": {
                            "type": "object"
                        },
                        "AuthorizationType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AuthParameters",
                        "AuthorizationType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Events::Connection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Events::EventBus": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EventSourceName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Events::EventBus"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Events::EventBusPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Action": {
                            "type": "string"
                        },
                        "Condition": {
                            "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition"
                        },
                        "EventBusName": {
                            "type": "string"
                        },
                        "Principal": {
                            "type": "string"
                        },
                        "Statement": {
                            "type": "object"
                        },
                        "StatementId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "StatementId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Events::EventBusPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Events::EventBusPolicy.Condition": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Events::Rule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "EventBusName": {
                            "type": "string"
                        },
                        "EventPattern": {
                            "type": "object"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "ScheduleExpression": {
                            "type": "string"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Targets": {
                            "items": {
                                "$ref": "#/definitions/AWS::Events::Rule.Target"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Events::Rule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.AwsVpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AssignPublicIp": {
                    "type": "string"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.BatchArrayProperties": {
            "additionalProperties": false,
            "properties": {
                "Size": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Events::Rule.BatchParameters": {
            "additionalProperties": false,
            "properties": {
                "ArrayProperties": {
                    "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties"
                },
                "JobDefinition": {
                    "type": "string"
                },
                "JobName": {
                    "type": "string"
                },
                "RetryStrategy": {
                    "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy"
                }
            },
            "required": [
                "JobDefinition",
                "JobName"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.BatchRetryStrategy": {
            "additionalProperties": false,
            "properties": {
                "Attempts": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Events::Rule.DeadLetterConfig": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Events::Rule.EcsParameters": {
            "additionalProperties": false,
            "properties": {
                "Group": {
                    "type": "string"
                },
                "LaunchType": {
                    "type": "string"
                },
                "NetworkConfiguration": {
                    "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration"
                },
                "PlatformVersion": {
                    "type": "string"
                },
                "TaskCount": {
                    "type": "number"
                },
                "TaskDefinitionArn": {
                    "type": "string"
                }
            },
            "required": [
                "TaskDefinitionArn"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.HttpParameters": {
            "additionalProperties": false,
            "properties": {
                "HeaderParameters": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "PathParameterValues": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "QueryStringParameters": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Events::Rule.InputTransformer": {
            "additionalProperties": false,
            "properties": {
                "InputPathsMap": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "InputTemplate": {
                    "type": "string"
                }
            },
            "required": [
                "InputTemplate"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.KinesisParameters": {
            "additionalProperties": false,
            "properties": {
                "PartitionKeyPath": {
                    "type": "string"
                }
            },
            "required": [
                "PartitionKeyPath"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.NetworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AwsVpcConfiguration": {
                    "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::Events::Rule.RedshiftDataParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "DbUser": {
                    "type": "string"
                },
                "SecretManagerArn": {
                    "type": "string"
                },
                "Sql": {
                    "type": "string"
                },
                "StatementName": {
                    "type": "string"
                },
                "WithEvent": {
                    "type": "boolean"
                }
            },
            "required": [
                "Database",
                "Sql"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.RetryPolicy": {
            "additionalProperties": false,
            "properties": {
                "MaximumEventAgeInSeconds": {
                    "type": "number"
                },
                "MaximumRetryAttempts": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Events::Rule.RunCommandParameters": {
            "additionalProperties": false,
            "properties": {
                "RunCommandTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget"
                    },
                    "type": "array"
                }
            },
            "required": [
                "RunCommandTargets"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.RunCommandTarget": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Key",
                "Values"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.SqsParameters": {
            "additionalProperties": false,
            "properties": {
                "MessageGroupId": {
                    "type": "string"
                }
            },
            "required": [
                "MessageGroupId"
            ],
            "type": "object"
        },
        "AWS::Events::Rule.Target": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "BatchParameters": {
                    "$ref": "#/definitions/AWS::Events::Rule.BatchParameters"
                },
                "DeadLetterConfig": {
                    "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig"
                },
                "EcsParameters": {
                    "$ref": "#/definitions/AWS::Events::Rule.EcsParameters"
                },
                "HttpParameters": {
                    "$ref": "#/definitions/AWS::Events::Rule.HttpParameters"
                },
                "Id": {
                    "type": "string"
                },
                "Input": {
                    "type": "string"
                },
                "InputPath": {
                    "type": "string"
                },
                "InputTransformer": {
                    "$ref": "#/definitions/AWS::Events::Rule.InputTransformer"
                },
                "KinesisParameters": {
                    "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters"
                },
                "RedshiftDataParameters": {
                    "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters"
                },
                "RetryPolicy": {
                    "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy"
                },
                "RoleArn": {
                    "type": "string"
                },
                "RunCommandParameters": {
                    "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters"
                },
                "SqsParameters": {
                    "$ref": "#/definitions/AWS::Events::Rule.SqsParameters"
                }
            },
            "required": [
                "Arn",
                "Id"
            ],
            "type": "object"
        },
        "AWS::FIS::ExperimentTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Actions": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction"
                                }
                            },
                            "type": "object"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StopConditions": {
                            "items": {
                                "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Targets": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "Description",
                        "RoleArn",
                        "StopConditions",
                        "Tags",
                        "Targets"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FIS::ExperimentTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": {
            "additionalProperties": false,
            "properties": {
                "ActionId": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Parameters": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "StartAfter": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Targets": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "required": [
                "ActionId"
            ],
            "type": "object"
        },
        "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": {
            "additionalProperties": false,
            "properties": {
                "Source": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Source"
            ],
            "type": "object"
        },
        "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": {
            "additionalProperties": false,
            "properties": {
                "Filters": {
                    "items": {
                        "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter"
                    },
                    "type": "array"
                },
                "ResourceArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ResourceTags": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "ResourceType": {
                    "type": "string"
                },
                "SelectionMode": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceType",
                "SelectionMode"
            ],
            "type": "object"
        },
        "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": {
            "additionalProperties": false,
            "properties": {
                "Path": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Path",
                "Values"
            ],
            "type": "object"
        },
        "AWS::FMS::NotificationChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SnsRoleName": {
                            "type": "string"
                        },
                        "SnsTopicArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SnsRoleName",
                        "SnsTopicArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FMS::NotificationChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FMS::Policy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeleteAllPolicyResources": {
                            "type": "boolean"
                        },
                        "ExcludeMap": {
                            "$ref": "#/definitions/AWS::FMS::Policy.IEMap"
                        },
                        "ExcludeResourceTags": {
                            "type": "boolean"
                        },
                        "IncludeMap": {
                            "$ref": "#/definitions/AWS::FMS::Policy.IEMap"
                        },
                        "PolicyName": {
                            "type": "string"
                        },
                        "RemediationEnabled": {
                            "type": "boolean"
                        },
                        "ResourceTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag"
                            },
                            "type": "array"
                        },
                        "ResourceType": {
                            "type": "string"
                        },
                        "ResourceTypeList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SecurityServicePolicyData": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ExcludeResourceTags",
                        "PolicyName",
                        "RemediationEnabled",
                        "ResourceType",
                        "SecurityServicePolicyData"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FMS::Policy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FMS::Policy.IEMap": {
            "additionalProperties": false,
            "properties": {
                "ACCOUNT": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ORGUNIT": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FMS::Policy.PolicyTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::FMS::Policy.ResourceTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key"
            ],
            "type": "object"
        },
        "AWS::FSx::FileSystem": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BackupId": {
                            "type": "string"
                        },
                        "FileSystemType": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "LustreConfiguration": {
                            "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "StorageCapacity": {
                            "type": "number"
                        },
                        "StorageType": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "WindowsConfiguration": {
                            "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration"
                        }
                    },
                    "required": [
                        "FileSystemType",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FSx::FileSystem"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FSx::FileSystem.LustreConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AutoImportPolicy": {
                    "type": "string"
                },
                "AutomaticBackupRetentionDays": {
                    "type": "number"
                },
                "CopyTagsToBackups": {
                    "type": "boolean"
                },
                "DailyAutomaticBackupStartTime": {
                    "type": "string"
                },
                "DataCompressionType": {
                    "type": "string"
                },
                "DeploymentType": {
                    "type": "string"
                },
                "DriveCacheType": {
                    "type": "string"
                },
                "ExportPath": {
                    "type": "string"
                },
                "ImportPath": {
                    "type": "string"
                },
                "ImportedFileChunkSize": {
                    "type": "number"
                },
                "PerUnitStorageThroughput": {
                    "type": "number"
                },
                "WeeklyMaintenanceStartTime": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DnsIps": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DomainName": {
                    "type": "string"
                },
                "FileSystemAdministratorsGroup": {
                    "type": "string"
                },
                "OrganizationalUnitDistinguishedName": {
                    "type": "string"
                },
                "Password": {
                    "type": "string"
                },
                "UserName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::FSx::FileSystem.WindowsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ActiveDirectoryId": {
                    "type": "string"
                },
                "Aliases": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AutomaticBackupRetentionDays": {
                    "type": "number"
                },
                "CopyTagsToBackups": {
                    "type": "boolean"
                },
                "DailyAutomaticBackupStartTime": {
                    "type": "string"
                },
                "DeploymentType": {
                    "type": "string"
                },
                "PreferredSubnetId": {
                    "type": "string"
                },
                "SelfManagedActiveDirectoryConfiguration": {
                    "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration"
                },
                "ThroughputCapacity": {
                    "type": "number"
                },
                "WeeklyMaintenanceStartTime": {
                    "type": "string"
                }
            },
            "required": [
                "ThroughputCapacity"
            ],
            "type": "object"
        },
        "AWS::FinSpace::Environment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "FederationMode": {
                            "type": "string"
                        },
                        "FederationParameters": {
                            "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FinSpace::Environment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FinSpace::Environment.FederationParameters": {
            "additionalProperties": false,
            "properties": {
                "ApplicationCallBackURL": {
                    "type": "string"
                },
                "AttributeMap": {
                    "type": "object"
                },
                "FederationProviderName": {
                    "type": "string"
                },
                "FederationURN": {
                    "type": "string"
                },
                "SamlMetadataDocument": {
                    "type": "string"
                },
                "SamlMetadataURL": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Detector": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssociatedModels": {
                            "items": {
                                "$ref": "#/definitions/AWS::FraudDetector::Detector.Model"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DetectorId": {
                            "type": "string"
                        },
                        "DetectorVersionStatus": {
                            "type": "string"
                        },
                        "EventType": {
                            "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType"
                        },
                        "RuleExecutionMode": {
                            "type": "string"
                        },
                        "Rules": {
                            "items": {
                                "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DetectorId",
                        "EventType",
                        "Rules"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FraudDetector::Detector"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FraudDetector::Detector.EntityType": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Inline": {
                    "type": "boolean"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Detector.EventType": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "EntityTypes": {
                    "items": {
                        "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType"
                    },
                    "type": "array"
                },
                "EventVariables": {
                    "items": {
                        "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable"
                    },
                    "type": "array"
                },
                "Inline": {
                    "type": "boolean"
                },
                "Labels": {
                    "items": {
                        "$ref": "#/definitions/AWS::FraudDetector::Detector.Label"
                    },
                    "type": "array"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Detector.EventVariable": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "DataSource": {
                    "type": "string"
                },
                "DataType": {
                    "type": "string"
                },
                "DefaultValue": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Inline": {
                    "type": "boolean"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                },
                "VariableType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Detector.Label": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Inline": {
                    "type": "boolean"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Detector.Model": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Detector.Outcome": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Inline": {
                    "type": "boolean"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Detector.Rule": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "DetectorId": {
                    "type": "string"
                },
                "Expression": {
                    "type": "string"
                },
                "Language": {
                    "type": "string"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Outcomes": {
                    "items": {
                        "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome"
                    },
                    "type": "array"
                },
                "RuleId": {
                    "type": "string"
                },
                "RuleVersion": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::EntityType": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FraudDetector::EntityType"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FraudDetector::EventType": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "EntityTypes": {
                            "items": {
                                "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType"
                            },
                            "type": "array"
                        },
                        "EventVariables": {
                            "items": {
                                "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable"
                            },
                            "type": "array"
                        },
                        "Labels": {
                            "items": {
                                "$ref": "#/definitions/AWS::FraudDetector::EventType.Label"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "EntityTypes",
                        "EventVariables",
                        "Labels",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FraudDetector::EventType"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FraudDetector::EventType.EntityType": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Inline": {
                    "type": "boolean"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::EventType.EventVariable": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "DataSource": {
                    "type": "string"
                },
                "DataType": {
                    "type": "string"
                },
                "DefaultValue": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Inline": {
                    "type": "boolean"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                },
                "VariableType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::EventType.Label": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "CreatedTime": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Inline": {
                    "type": "boolean"
                },
                "LastUpdatedTime": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::FraudDetector::Label": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FraudDetector::Label"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FraudDetector::Outcome": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FraudDetector::Outcome"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::FraudDetector::Variable": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataSource": {
                            "type": "string"
                        },
                        "DataType": {
                            "type": "string"
                        },
                        "DefaultValue": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VariableType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DataSource",
                        "DataType",
                        "DefaultValue",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::FraudDetector::Variable"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GameLift::Alias": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoutingStrategy": {
                            "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy"
                        }
                    },
                    "required": [
                        "Name",
                        "RoutingStrategy"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::Alias"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GameLift::Alias.RoutingStrategy": {
            "additionalProperties": false,
            "properties": {
                "FleetId": {
                    "type": "string"
                },
                "Message": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::GameLift::Build": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "OperatingSystem": {
                            "type": "string"
                        },
                        "StorageLocation": {
                            "$ref": "#/definitions/AWS::GameLift::Build.S3Location"
                        },
                        "Version": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::Build"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::GameLift::Build.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "ObjectVersion": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::GameLift::Fleet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BuildId": {
                            "type": "string"
                        },
                        "CertificateConfiguration": {
                            "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DesiredEC2Instances": {
                            "type": "number"
                        },
                        "EC2InboundPermissions": {
                            "items": {
                                "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission"
                            },
                            "type": "array"
                        },
                        "EC2InstanceType": {
                            "type": "string"
                        },
                        "FleetType": {
                            "type": "string"
                        },
                        "InstanceRoleARN": {
                            "type": "string"
                        },
                        "Locations": {
                            "items": {
                                "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration"
                            },
                            "type": "array"
                        },
                        "MaxSize": {
                            "type": "number"
                        },
                        "MetricGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MinSize": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "NewGameSessionProtectionPolicy": {
                            "type": "string"
                        },
                        "PeerVpcAwsAccountId": {
                            "type": "string"
                        },
                        "PeerVpcId": {
                            "type": "string"
                        },
                        "ResourceCreationLimitPolicy": {
                            "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy"
                        },
                        "RuntimeConfiguration": {
                            "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration"
                        },
                        "ScriptId": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::Fleet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::GameLift::Fleet.CertificateConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CertificateType": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateType"
            ],
            "type": "object"
        },
        "AWS::GameLift::Fleet.IpPermission": {
            "additionalProperties": false,
            "properties": {
                "FromPort": {
                    "type": "number"
                },
                "IpRange": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "ToPort": {
                    "type": "number"
                }
            },
            "required": [
                "FromPort",
                "IpRange",
                "Protocol",
                "ToPort"
            ],
            "type": "object"
        },
        "AWS::GameLift::Fleet.LocationCapacity": {
            "additionalProperties": false,
            "properties": {
                "DesiredEC2Instances": {
                    "type": "number"
                },
                "MaxSize": {
                    "type": "number"
                },
                "MinSize": {
                    "type": "number"
                }
            },
            "required": [
                "DesiredEC2Instances",
                "MaxSize",
                "MinSize"
            ],
            "type": "object"
        },
        "AWS::GameLift::Fleet.LocationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Location": {
                    "type": "string"
                },
                "LocationCapacity": {
                    "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity"
                }
            },
            "required": [
                "Location"
            ],
            "type": "object"
        },
        "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": {
            "additionalProperties": false,
            "properties": {
                "NewGameSessionsPerCreator": {
                    "type": "number"
                },
                "PolicyPeriodInMinutes": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::GameLift::Fleet.RuntimeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "GameSessionActivationTimeoutSeconds": {
                    "type": "number"
                },
                "MaxConcurrentGameSessionActivations": {
                    "type": "number"
                },
                "ServerProcesses": {
                    "items": {
                        "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::GameLift::Fleet.ServerProcess": {
            "additionalProperties": false,
            "properties": {
                "ConcurrentExecutions": {
                    "type": "number"
                },
                "LaunchPath": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "string"
                }
            },
            "required": [
                "ConcurrentExecutions",
                "LaunchPath"
            ],
            "type": "object"
        },
        "AWS::GameLift::GameServerGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingPolicy": {
                            "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy"
                        },
                        "BalancingStrategy": {
                            "type": "string"
                        },
                        "DeleteOption": {
                            "type": "string"
                        },
                        "GameServerGroupName": {
                            "type": "string"
                        },
                        "GameServerProtectionPolicy": {
                            "type": "string"
                        },
                        "InstanceDefinitions": {
                            "items": {
                                "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition"
                            },
                            "type": "array"
                        },
                        "LaunchTemplate": {
                            "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate"
                        },
                        "MaxSize": {
                            "type": "number"
                        },
                        "MinSize": {
                            "type": "number"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcSubnets": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "GameServerGroupName",
                        "InstanceDefinitions",
                        "LaunchTemplate",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::GameServerGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GameLift::GameServerGroup.AutoScalingPolicy": {
            "additionalProperties": false,
            "properties": {
                "EstimatedInstanceWarmup": {
                    "type": "number"
                },
                "TargetTrackingConfiguration": {
                    "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration"
                }
            },
            "required": [
                "TargetTrackingConfiguration"
            ],
            "type": "object"
        },
        "AWS::GameLift::GameServerGroup.InstanceDefinition": {
            "additionalProperties": false,
            "properties": {
                "InstanceType": {
                    "type": "string"
                },
                "WeightedCapacity": {
                    "type": "string"
                }
            },
            "required": [
                "InstanceType"
            ],
            "type": "object"
        },
        "AWS::GameLift::GameServerGroup.LaunchTemplate": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateId": {
                    "type": "string"
                },
                "LaunchTemplateName": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "TargetValue": {
                    "type": "number"
                }
            },
            "required": [
                "TargetValue"
            ],
            "type": "object"
        },
        "AWS::GameLift::GameSessionQueue": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CustomEventData": {
                            "type": "string"
                        },
                        "Destinations": {
                            "items": {
                                "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination"
                            },
                            "type": "array"
                        },
                        "FilterConfiguration": {
                            "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "NotificationTarget": {
                            "type": "string"
                        },
                        "PlayerLatencyPolicies": {
                            "items": {
                                "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy"
                            },
                            "type": "array"
                        },
                        "PriorityConfiguration": {
                            "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration"
                        },
                        "TimeoutInSeconds": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::GameSessionQueue"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GameLift::GameSessionQueue.Destination": {
            "additionalProperties": false,
            "properties": {
                "DestinationArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GameLift::GameSessionQueue.FilterConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AllowedLocations": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": {
            "additionalProperties": false,
            "properties": {
                "MaximumIndividualPlayerLatencyMilliseconds": {
                    "type": "number"
                },
                "PolicyDurationSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::GameLift::GameSessionQueue.PriorityConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LocationOrder": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "PriorityOrder": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::GameLift::MatchmakingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptanceRequired": {
                            "type": "boolean"
                        },
                        "AcceptanceTimeoutSeconds": {
                            "type": "number"
                        },
                        "AdditionalPlayerCount": {
                            "type": "number"
                        },
                        "BackfillMode": {
                            "type": "string"
                        },
                        "CustomEventData": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FlexMatchMode": {
                            "type": "string"
                        },
                        "GameProperties": {
                            "items": {
                                "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty"
                            },
                            "type": "array"
                        },
                        "GameSessionData": {
                            "type": "string"
                        },
                        "GameSessionQueueArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "NotificationTarget": {
                            "type": "string"
                        },
                        "RequestTimeoutSeconds": {
                            "type": "number"
                        },
                        "RuleSetName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AcceptanceRequired",
                        "Name",
                        "RequestTimeoutSeconds",
                        "RuleSetName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::MatchmakingConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GameLift::MatchmakingConfiguration.GameProperty": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::GameLift::MatchmakingRuleSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "RuleSetBody": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "RuleSetBody"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::MatchmakingRuleSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GameLift::Script": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "StorageLocation": {
                            "$ref": "#/definitions/AWS::GameLift::Script.S3Location"
                        },
                        "Version": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "StorageLocation"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GameLift::Script"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GameLift::Script.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "ObjectVersion": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::GlobalAccelerator::Accelerator": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Enabled": {
                            "type": "boolean"
                        },
                        "IpAddressType": {
                            "type": "string"
                        },
                        "IpAddresses": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GlobalAccelerator::Accelerator"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GlobalAccelerator::EndpointGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EndpointConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration"
                            },
                            "type": "array"
                        },
                        "EndpointGroupRegion": {
                            "type": "string"
                        },
                        "HealthCheckIntervalSeconds": {
                            "type": "number"
                        },
                        "HealthCheckPath": {
                            "type": "string"
                        },
                        "HealthCheckPort": {
                            "type": "number"
                        },
                        "HealthCheckProtocol": {
                            "type": "string"
                        },
                        "ListenerArn": {
                            "type": "string"
                        },
                        "PortOverrides": {
                            "items": {
                                "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride"
                            },
                            "type": "array"
                        },
                        "ThresholdCount": {
                            "type": "number"
                        },
                        "TrafficDialPercentage": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "EndpointGroupRegion",
                        "ListenerArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GlobalAccelerator::EndpointGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ClientIPPreservationEnabled": {
                    "type": "boolean"
                },
                "EndpointId": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "EndpointId"
            ],
            "type": "object"
        },
        "AWS::GlobalAccelerator::EndpointGroup.PortOverride": {
            "additionalProperties": false,
            "properties": {
                "EndpointPort": {
                    "type": "number"
                },
                "ListenerPort": {
                    "type": "number"
                }
            },
            "required": [
                "EndpointPort",
                "ListenerPort"
            ],
            "type": "object"
        },
        "AWS::GlobalAccelerator::Listener": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceleratorArn": {
                            "type": "string"
                        },
                        "ClientAffinity": {
                            "type": "string"
                        },
                        "PortRanges": {
                            "items": {
                                "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange"
                            },
                            "type": "array"
                        },
                        "Protocol": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AcceleratorArn",
                        "PortRanges",
                        "Protocol"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GlobalAccelerator::Listener"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GlobalAccelerator::Listener.PortRange": {
            "additionalProperties": false,
            "properties": {
                "FromPort": {
                    "type": "number"
                },
                "ToPort": {
                    "type": "number"
                }
            },
            "required": [
                "FromPort",
                "ToPort"
            ],
            "type": "object"
        },
        "AWS::Glue::Classifier": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CsvClassifier": {
                            "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier"
                        },
                        "GrokClassifier": {
                            "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier"
                        },
                        "JsonClassifier": {
                            "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier"
                        },
                        "XMLClassifier": {
                            "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Classifier"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Glue::Classifier.CsvClassifier": {
            "additionalProperties": false,
            "properties": {
                "AllowSingleColumn": {
                    "type": "boolean"
                },
                "ContainsHeader": {
                    "type": "string"
                },
                "Delimiter": {
                    "type": "string"
                },
                "DisableValueTrimming": {
                    "type": "boolean"
                },
                "Header": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "QuoteSymbol": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Classifier.GrokClassifier": {
            "additionalProperties": false,
            "properties": {
                "Classification": {
                    "type": "string"
                },
                "CustomPatterns": {
                    "type": "string"
                },
                "GrokPattern": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Classification",
                "GrokPattern"
            ],
            "type": "object"
        },
        "AWS::Glue::Classifier.JsonClassifier": {
            "additionalProperties": false,
            "properties": {
                "JsonPath": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "JsonPath"
            ],
            "type": "object"
        },
        "AWS::Glue::Classifier.XMLClassifier": {
            "additionalProperties": false,
            "properties": {
                "Classification": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "RowTag": {
                    "type": "string"
                }
            },
            "required": [
                "Classification",
                "RowTag"
            ],
            "type": "object"
        },
        "AWS::Glue::Connection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CatalogId": {
                            "type": "string"
                        },
                        "ConnectionInput": {
                            "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput"
                        }
                    },
                    "required": [
                        "CatalogId",
                        "ConnectionInput"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Connection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Connection.ConnectionInput": {
            "additionalProperties": false,
            "properties": {
                "ConnectionProperties": {
                    "type": "object"
                },
                "ConnectionType": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "MatchCriteria": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "PhysicalConnectionRequirements": {
                    "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements"
                }
            },
            "required": [
                "ConnectionType"
            ],
            "type": "object"
        },
        "AWS::Glue::Connection.PhysicalConnectionRequirements": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "SecurityGroupIdList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Crawler": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Classifiers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Configuration": {
                            "type": "string"
                        },
                        "CrawlerSecurityConfiguration": {
                            "type": "string"
                        },
                        "DatabaseName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Role": {
                            "type": "string"
                        },
                        "Schedule": {
                            "$ref": "#/definitions/AWS::Glue::Crawler.Schedule"
                        },
                        "SchemaChangePolicy": {
                            "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy"
                        },
                        "TablePrefix": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Targets": {
                            "$ref": "#/definitions/AWS::Glue::Crawler.Targets"
                        }
                    },
                    "required": [
                        "Role",
                        "Targets"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Crawler"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Crawler.CatalogTarget": {
            "additionalProperties": false,
            "properties": {
                "DatabaseName": {
                    "type": "string"
                },
                "Tables": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Crawler.DynamoDBTarget": {
            "additionalProperties": false,
            "properties": {
                "Path": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Crawler.JdbcTarget": {
            "additionalProperties": false,
            "properties": {
                "ConnectionName": {
                    "type": "string"
                },
                "Exclusions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Path": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Crawler.S3Target": {
            "additionalProperties": false,
            "properties": {
                "ConnectionName": {
                    "type": "string"
                },
                "Exclusions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Path": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Crawler.Schedule": {
            "additionalProperties": false,
            "properties": {
                "ScheduleExpression": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Crawler.SchemaChangePolicy": {
            "additionalProperties": false,
            "properties": {
                "DeleteBehavior": {
                    "type": "string"
                },
                "UpdateBehavior": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Crawler.Targets": {
            "additionalProperties": false,
            "properties": {
                "CatalogTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget"
                    },
                    "type": "array"
                },
                "DynamoDBTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget"
                    },
                    "type": "array"
                },
                "JdbcTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget"
                    },
                    "type": "array"
                },
                "S3Targets": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Crawler.S3Target"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Glue::DataCatalogEncryptionSettings": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CatalogId": {
                            "type": "string"
                        },
                        "DataCatalogEncryptionSettings": {
                            "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings"
                        }
                    },
                    "required": [
                        "CatalogId",
                        "DataCatalogEncryptionSettings"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::DataCatalogEncryptionSettings"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "ReturnConnectionPasswordEncrypted": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": {
            "additionalProperties": false,
            "properties": {
                "ConnectionPasswordEncryption": {
                    "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption"
                },
                "EncryptionAtRest": {
                    "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest"
                }
            },
            "type": "object"
        },
        "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": {
            "additionalProperties": false,
            "properties": {
                "CatalogEncryptionMode": {
                    "type": "string"
                },
                "SseAwsKmsKeyId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Database": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CatalogId": {
                            "type": "string"
                        },
                        "DatabaseInput": {
                            "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput"
                        }
                    },
                    "required": [
                        "CatalogId",
                        "DatabaseInput"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Database"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Database.DatabaseIdentifier": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Database.DatabaseInput": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "LocationUri": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                },
                "TargetDatabase": {
                    "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier"
                }
            },
            "type": "object"
        },
        "AWS::Glue::DevEndpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Arguments": {
                            "type": "object"
                        },
                        "EndpointName": {
                            "type": "string"
                        },
                        "ExtraJarsS3Path": {
                            "type": "string"
                        },
                        "ExtraPythonLibsS3Path": {
                            "type": "string"
                        },
                        "GlueVersion": {
                            "type": "string"
                        },
                        "NumberOfNodes": {
                            "type": "number"
                        },
                        "NumberOfWorkers": {
                            "type": "number"
                        },
                        "PublicKey": {
                            "type": "string"
                        },
                        "PublicKeys": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "SecurityConfiguration": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "WorkerType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::DevEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Job": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllocatedCapacity": {
                            "type": "number"
                        },
                        "Command": {
                            "$ref": "#/definitions/AWS::Glue::Job.JobCommand"
                        },
                        "Connections": {
                            "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList"
                        },
                        "DefaultArguments": {
                            "type": "object"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "ExecutionProperty": {
                            "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty"
                        },
                        "GlueVersion": {
                            "type": "string"
                        },
                        "LogUri": {
                            "type": "string"
                        },
                        "MaxCapacity": {
                            "type": "number"
                        },
                        "MaxRetries": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "NotificationProperty": {
                            "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty"
                        },
                        "NumberOfWorkers": {
                            "type": "number"
                        },
                        "Role": {
                            "type": "string"
                        },
                        "SecurityConfiguration": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Timeout": {
                            "type": "number"
                        },
                        "WorkerType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Command",
                        "Role"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Job"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Job.ConnectionsList": {
            "additionalProperties": false,
            "properties": {
                "Connections": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Job.ExecutionProperty": {
            "additionalProperties": false,
            "properties": {
                "MaxConcurrentRuns": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Job.JobCommand": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "PythonVersion": {
                    "type": "string"
                },
                "ScriptLocation": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Job.NotificationProperty": {
            "additionalProperties": false,
            "properties": {
                "NotifyDelayAfter": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Glue::MLTransform": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "GlueVersion": {
                            "type": "string"
                        },
                        "InputRecordTables": {
                            "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables"
                        },
                        "MaxCapacity": {
                            "type": "number"
                        },
                        "MaxRetries": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "NumberOfWorkers": {
                            "type": "number"
                        },
                        "Role": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Timeout": {
                            "type": "number"
                        },
                        "TransformEncryption": {
                            "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption"
                        },
                        "TransformParameters": {
                            "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters"
                        },
                        "WorkerType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InputRecordTables",
                        "Role",
                        "TransformParameters"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::MLTransform"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::MLTransform.FindMatchesParameters": {
            "additionalProperties": false,
            "properties": {
                "AccuracyCostTradeoff": {
                    "type": "number"
                },
                "EnforceProvidedLabels": {
                    "type": "boolean"
                },
                "PrecisionRecallTradeoff": {
                    "type": "number"
                },
                "PrimaryKeyColumnName": {
                    "type": "string"
                }
            },
            "required": [
                "PrimaryKeyColumnName"
            ],
            "type": "object"
        },
        "AWS::Glue::MLTransform.GlueTables": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "ConnectionName": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "DatabaseName",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::Glue::MLTransform.InputRecordTables": {
            "additionalProperties": false,
            "properties": {
                "GlueTables": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Glue::MLTransform.MLUserDataEncryption": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "MLUserDataEncryptionMode": {
                    "type": "string"
                }
            },
            "required": [
                "MLUserDataEncryptionMode"
            ],
            "type": "object"
        },
        "AWS::Glue::MLTransform.TransformEncryption": {
            "additionalProperties": false,
            "properties": {
                "MLUserDataEncryption": {
                    "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption"
                },
                "TaskRunSecurityConfigurationName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::MLTransform.TransformParameters": {
            "additionalProperties": false,
            "properties": {
                "FindMatchesParameters": {
                    "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters"
                },
                "TransformType": {
                    "type": "string"
                }
            },
            "required": [
                "TransformType"
            ],
            "type": "object"
        },
        "AWS::Glue::Partition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CatalogId": {
                            "type": "string"
                        },
                        "DatabaseName": {
                            "type": "string"
                        },
                        "PartitionInput": {
                            "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput"
                        },
                        "TableName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CatalogId",
                        "DatabaseName",
                        "PartitionInput",
                        "TableName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Partition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Partition.Column": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::Glue::Partition.Order": {
            "additionalProperties": false,
            "properties": {
                "Column": {
                    "type": "string"
                },
                "SortOrder": {
                    "type": "number"
                }
            },
            "required": [
                "Column"
            ],
            "type": "object"
        },
        "AWS::Glue::Partition.PartitionInput": {
            "additionalProperties": false,
            "properties": {
                "Parameters": {
                    "type": "object"
                },
                "StorageDescriptor": {
                    "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Values"
            ],
            "type": "object"
        },
        "AWS::Glue::Partition.SchemaId": {
            "additionalProperties": false,
            "properties": {
                "RegistryName": {
                    "type": "string"
                },
                "SchemaArn": {
                    "type": "string"
                },
                "SchemaName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Partition.SchemaReference": {
            "additionalProperties": false,
            "properties": {
                "SchameVersionId": {
                    "type": "string"
                },
                "SchemaId": {
                    "$ref": "#/definitions/AWS::Glue::Partition.SchemaId"
                },
                "SchemaVersionNumber": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Partition.SerdeInfo": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                },
                "SerializationLibrary": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Partition.SkewedInfo": {
            "additionalProperties": false,
            "properties": {
                "SkewedColumnNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SkewedColumnValueLocationMaps": {
                    "type": "object"
                },
                "SkewedColumnValues": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Partition.StorageDescriptor": {
            "additionalProperties": false,
            "properties": {
                "BucketColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Columns": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Partition.Column"
                    },
                    "type": "array"
                },
                "Compressed": {
                    "type": "boolean"
                },
                "InputFormat": {
                    "type": "string"
                },
                "Location": {
                    "type": "string"
                },
                "NumberOfBuckets": {
                    "type": "number"
                },
                "OutputFormat": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                },
                "SchemaReference": {
                    "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference"
                },
                "SerdeInfo": {
                    "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo"
                },
                "SkewedInfo": {
                    "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo"
                },
                "SortColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Partition.Order"
                    },
                    "type": "array"
                },
                "StoredAsSubDirectories": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Registry": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Registry"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Schema": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CheckpointVersion": {
                            "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion"
                        },
                        "Compatibility": {
                            "type": "string"
                        },
                        "DataFormat": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Registry": {
                            "$ref": "#/definitions/AWS::Glue::Schema.Registry"
                        },
                        "SchemaDefinition": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Compatibility",
                        "DataFormat",
                        "Name",
                        "SchemaDefinition"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Schema"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Schema.Registry": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Schema.SchemaVersion": {
            "additionalProperties": false,
            "properties": {
                "IsLatest": {
                    "type": "boolean"
                },
                "VersionNumber": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Glue::SchemaVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Schema": {
                            "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema"
                        },
                        "SchemaDefinition": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Schema",
                        "SchemaDefinition"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::SchemaVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::SchemaVersion.Schema": {
            "additionalProperties": false,
            "properties": {
                "RegistryName": {
                    "type": "string"
                },
                "SchemaArn": {
                    "type": "string"
                },
                "SchemaName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::SchemaVersionMetadata": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Key": {
                            "type": "string"
                        },
                        "SchemaVersionId": {
                            "type": "string"
                        },
                        "Value": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Key",
                        "SchemaVersionId",
                        "Value"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::SchemaVersionMetadata"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::SecurityConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EncryptionConfiguration": {
                            "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "EncryptionConfiguration",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::SecurityConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchEncryptionMode": {
                    "type": "string"
                },
                "KmsKeyArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchEncryption": {
                    "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption"
                },
                "JobBookmarksEncryption": {
                    "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption"
                },
                "S3Encryptions": {
                    "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions"
                }
            },
            "type": "object"
        },
        "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": {
            "additionalProperties": false,
            "properties": {
                "JobBookmarksEncryptionMode": {
                    "type": "string"
                },
                "KmsKeyArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::SecurityConfiguration.S3Encryption": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyArn": {
                    "type": "string"
                },
                "S3EncryptionMode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::SecurityConfiguration.S3Encryptions": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::Glue::Table": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CatalogId": {
                            "type": "string"
                        },
                        "DatabaseName": {
                            "type": "string"
                        },
                        "TableInput": {
                            "$ref": "#/definitions/AWS::Glue::Table.TableInput"
                        }
                    },
                    "required": [
                        "CatalogId",
                        "DatabaseName",
                        "TableInput"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Table"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Table.Column": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::Glue::Table.Order": {
            "additionalProperties": false,
            "properties": {
                "Column": {
                    "type": "string"
                },
                "SortOrder": {
                    "type": "number"
                }
            },
            "required": [
                "Column",
                "SortOrder"
            ],
            "type": "object"
        },
        "AWS::Glue::Table.SchemaId": {
            "additionalProperties": false,
            "properties": {
                "RegistryName": {
                    "type": "string"
                },
                "SchemaArn": {
                    "type": "string"
                },
                "SchemaName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Table.SchemaReference": {
            "additionalProperties": false,
            "properties": {
                "SchameVersionId": {
                    "type": "string"
                },
                "SchemaId": {
                    "$ref": "#/definitions/AWS::Glue::Table.SchemaId"
                },
                "SchemaVersionNumber": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Table.SerdeInfo": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                },
                "SerializationLibrary": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Table.SkewedInfo": {
            "additionalProperties": false,
            "properties": {
                "SkewedColumnNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SkewedColumnValueLocationMaps": {
                    "type": "object"
                },
                "SkewedColumnValues": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Table.StorageDescriptor": {
            "additionalProperties": false,
            "properties": {
                "BucketColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Columns": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Table.Column"
                    },
                    "type": "array"
                },
                "Compressed": {
                    "type": "boolean"
                },
                "InputFormat": {
                    "type": "string"
                },
                "Location": {
                    "type": "string"
                },
                "NumberOfBuckets": {
                    "type": "number"
                },
                "OutputFormat": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                },
                "SchemaReference": {
                    "$ref": "#/definitions/AWS::Glue::Table.SchemaReference"
                },
                "SerdeInfo": {
                    "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo"
                },
                "SkewedInfo": {
                    "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo"
                },
                "SortColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Table.Order"
                    },
                    "type": "array"
                },
                "StoredAsSubDirectories": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Table.TableIdentifier": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Table.TableInput": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Owner": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                },
                "PartitionKeys": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Table.Column"
                    },
                    "type": "array"
                },
                "Retention": {
                    "type": "number"
                },
                "StorageDescriptor": {
                    "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor"
                },
                "TableType": {
                    "type": "string"
                },
                "TargetTable": {
                    "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier"
                },
                "ViewExpandedText": {
                    "type": "string"
                },
                "ViewOriginalText": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Trigger": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Actions": {
                            "items": {
                                "$ref": "#/definitions/AWS::Glue::Trigger.Action"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Predicate": {
                            "$ref": "#/definitions/AWS::Glue::Trigger.Predicate"
                        },
                        "Schedule": {
                            "type": "string"
                        },
                        "StartOnCreation": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "WorkflowName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Actions",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Trigger"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Glue::Trigger.Action": {
            "additionalProperties": false,
            "properties": {
                "Arguments": {
                    "type": "object"
                },
                "CrawlerName": {
                    "type": "string"
                },
                "JobName": {
                    "type": "string"
                },
                "NotificationProperty": {
                    "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty"
                },
                "SecurityConfiguration": {
                    "type": "string"
                },
                "Timeout": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Trigger.Condition": {
            "additionalProperties": false,
            "properties": {
                "CrawlState": {
                    "type": "string"
                },
                "CrawlerName": {
                    "type": "string"
                },
                "JobName": {
                    "type": "string"
                },
                "LogicalOperator": {
                    "type": "string"
                },
                "State": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Trigger.NotificationProperty": {
            "additionalProperties": false,
            "properties": {
                "NotifyDelayAfter": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Trigger.Predicate": {
            "additionalProperties": false,
            "properties": {
                "Conditions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Glue::Trigger.Condition"
                    },
                    "type": "array"
                },
                "Logical": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Glue::Workflow": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultRunProperties": {
                            "type": "object"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Glue::Workflow"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ConnectorDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::ConnectorDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ConnectorDefinition.Connector": {
            "additionalProperties": false,
            "properties": {
                "ConnectorArn": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                }
            },
            "required": [
                "ConnectorArn",
                "Id"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "Connectors": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Connectors"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ConnectorDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectorDefinitionId": {
                            "type": "string"
                        },
                        "Connectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ConnectorDefinitionId",
                        "Connectors"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::ConnectorDefinitionVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ConnectorDefinitionVersion.Connector": {
            "additionalProperties": false,
            "properties": {
                "ConnectorArn": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                }
            },
            "required": [
                "ConnectorArn",
                "Id"
            ],
            "type": "object"
        },
        "AWS::Greengrass::CoreDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::CoreDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::CoreDefinition.Core": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "SyncShadow": {
                    "type": "boolean"
                },
                "ThingArn": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateArn",
                "Id",
                "ThingArn"
            ],
            "type": "object"
        },
        "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "Cores": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Cores"
            ],
            "type": "object"
        },
        "AWS::Greengrass::CoreDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CoreDefinitionId": {
                            "type": "string"
                        },
                        "Cores": {
                            "items": {
                                "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CoreDefinitionId",
                        "Cores"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::CoreDefinitionVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::CoreDefinitionVersion.Core": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "SyncShadow": {
                    "type": "boolean"
                },
                "ThingArn": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateArn",
                "Id",
                "ThingArn"
            ],
            "type": "object"
        },
        "AWS::Greengrass::DeviceDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::DeviceDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::DeviceDefinition.Device": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "SyncShadow": {
                    "type": "boolean"
                },
                "ThingArn": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateArn",
                "Id",
                "ThingArn"
            ],
            "type": "object"
        },
        "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "Devices": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Devices"
            ],
            "type": "object"
        },
        "AWS::Greengrass::DeviceDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeviceDefinitionId": {
                            "type": "string"
                        },
                        "Devices": {
                            "items": {
                                "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DeviceDefinitionId",
                        "Devices"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::DeviceDefinitionVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::DeviceDefinitionVersion.Device": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "SyncShadow": {
                    "type": "boolean"
                },
                "ThingArn": {
                    "type": "string"
                }
            },
            "required": [
                "CertificateArn",
                "Id",
                "ThingArn"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::FunctionDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.DefaultConfig": {
            "additionalProperties": false,
            "properties": {
                "Execution": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution"
                }
            },
            "required": [
                "Execution"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.Environment": {
            "additionalProperties": false,
            "properties": {
                "AccessSysfs": {
                    "type": "boolean"
                },
                "Execution": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution"
                },
                "ResourceAccessPolicies": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy"
                    },
                    "type": "array"
                },
                "Variables": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.Execution": {
            "additionalProperties": false,
            "properties": {
                "IsolationMode": {
                    "type": "string"
                },
                "RunAs": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.Function": {
            "additionalProperties": false,
            "properties": {
                "FunctionArn": {
                    "type": "string"
                },
                "FunctionConfiguration": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration"
                },
                "Id": {
                    "type": "string"
                }
            },
            "required": [
                "FunctionArn",
                "FunctionConfiguration",
                "Id"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EncodingType": {
                    "type": "string"
                },
                "Environment": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment"
                },
                "ExecArgs": {
                    "type": "string"
                },
                "Executable": {
                    "type": "string"
                },
                "MemorySize": {
                    "type": "number"
                },
                "Pinned": {
                    "type": "boolean"
                },
                "Timeout": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DefaultConfig": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig"
                },
                "Functions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Functions"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": {
            "additionalProperties": false,
            "properties": {
                "Permission": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceId"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinition.RunAs": {
            "additionalProperties": false,
            "properties": {
                "Gid": {
                    "type": "number"
                },
                "Uid": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultConfig": {
                            "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig"
                        },
                        "FunctionDefinitionId": {
                            "type": "string"
                        },
                        "Functions": {
                            "items": {
                                "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "FunctionDefinitionId",
                        "Functions"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::FunctionDefinitionVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": {
            "additionalProperties": false,
            "properties": {
                "Execution": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution"
                }
            },
            "required": [
                "Execution"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion.Environment": {
            "additionalProperties": false,
            "properties": {
                "AccessSysfs": {
                    "type": "boolean"
                },
                "Execution": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution"
                },
                "ResourceAccessPolicies": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy"
                    },
                    "type": "array"
                },
                "Variables": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion.Execution": {
            "additionalProperties": false,
            "properties": {
                "IsolationMode": {
                    "type": "string"
                },
                "RunAs": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion.Function": {
            "additionalProperties": false,
            "properties": {
                "FunctionArn": {
                    "type": "string"
                },
                "FunctionConfiguration": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration"
                },
                "Id": {
                    "type": "string"
                }
            },
            "required": [
                "FunctionArn",
                "FunctionConfiguration",
                "Id"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EncodingType": {
                    "type": "string"
                },
                "Environment": {
                    "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment"
                },
                "ExecArgs": {
                    "type": "string"
                },
                "Executable": {
                    "type": "string"
                },
                "MemorySize": {
                    "type": "number"
                },
                "Pinned": {
                    "type": "boolean"
                },
                "Timeout": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": {
            "additionalProperties": false,
            "properties": {
                "Permission": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceId"
            ],
            "type": "object"
        },
        "AWS::Greengrass::FunctionDefinitionVersion.RunAs": {
            "additionalProperties": false,
            "properties": {
                "Gid": {
                    "type": "number"
                },
                "Uid": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::Group": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::Group"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::Group.GroupVersion": {
            "additionalProperties": false,
            "properties": {
                "ConnectorDefinitionVersionArn": {
                    "type": "string"
                },
                "CoreDefinitionVersionArn": {
                    "type": "string"
                },
                "DeviceDefinitionVersionArn": {
                    "type": "string"
                },
                "FunctionDefinitionVersionArn": {
                    "type": "string"
                },
                "LoggerDefinitionVersionArn": {
                    "type": "string"
                },
                "ResourceDefinitionVersionArn": {
                    "type": "string"
                },
                "SubscriptionDefinitionVersionArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::GroupVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectorDefinitionVersionArn": {
                            "type": "string"
                        },
                        "CoreDefinitionVersionArn": {
                            "type": "string"
                        },
                        "DeviceDefinitionVersionArn": {
                            "type": "string"
                        },
                        "FunctionDefinitionVersionArn": {
                            "type": "string"
                        },
                        "GroupId": {
                            "type": "string"
                        },
                        "LoggerDefinitionVersionArn": {
                            "type": "string"
                        },
                        "ResourceDefinitionVersionArn": {
                            "type": "string"
                        },
                        "SubscriptionDefinitionVersionArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::GroupVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::LoggerDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::LoggerDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::LoggerDefinition.Logger": {
            "additionalProperties": false,
            "properties": {
                "Component": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Level": {
                    "type": "string"
                },
                "Space": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Component",
                "Id",
                "Level",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "Loggers": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Loggers"
            ],
            "type": "object"
        },
        "AWS::Greengrass::LoggerDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LoggerDefinitionId": {
                            "type": "string"
                        },
                        "Loggers": {
                            "items": {
                                "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "LoggerDefinitionId",
                        "Loggers"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::LoggerDefinitionVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::LoggerDefinitionVersion.Logger": {
            "additionalProperties": false,
            "properties": {
                "Component": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Level": {
                    "type": "string"
                },
                "Space": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Component",
                "Id",
                "Level",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::ResourceDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": {
            "additionalProperties": false,
            "properties": {
                "AutoAddGroupOwner": {
                    "type": "boolean"
                },
                "GroupOwner": {
                    "type": "string"
                }
            },
            "required": [
                "AutoAddGroupOwner"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": {
            "additionalProperties": false,
            "properties": {
                "GroupOwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting"
                },
                "SourcePath": {
                    "type": "string"
                }
            },
            "required": [
                "SourcePath"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": {
            "additionalProperties": false,
            "properties": {
                "DestinationPath": {
                    "type": "string"
                },
                "GroupOwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting"
                },
                "SourcePath": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationPath",
                "SourcePath"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": {
            "additionalProperties": false,
            "properties": {
                "LocalDeviceResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData"
                },
                "LocalVolumeResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData"
                },
                "S3MachineLearningModelResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData"
                },
                "SageMakerMachineLearningModelResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData"
                },
                "SecretsManagerSecretResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "Resources": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Resources"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": {
            "additionalProperties": false,
            "properties": {
                "GroupOwner": {
                    "type": "string"
                },
                "GroupPermission": {
                    "type": "string"
                }
            },
            "required": [
                "GroupOwner",
                "GroupPermission"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.ResourceInstance": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "ResourceDataContainer": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer"
                }
            },
            "required": [
                "Id",
                "Name",
                "ResourceDataContainer"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": {
            "additionalProperties": false,
            "properties": {
                "DestinationPath": {
                    "type": "string"
                },
                "OwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationPath",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": {
            "additionalProperties": false,
            "properties": {
                "DestinationPath": {
                    "type": "string"
                },
                "OwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting"
                },
                "SageMakerJobArn": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationPath",
                "SageMakerJobArn"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": {
            "additionalProperties": false,
            "properties": {
                "ARN": {
                    "type": "string"
                },
                "AdditionalStagingLabelsToDownload": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ARN"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceDefinitionId": {
                            "type": "string"
                        },
                        "Resources": {
                            "items": {
                                "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ResourceDefinitionId",
                        "Resources"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::ResourceDefinitionVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": {
            "additionalProperties": false,
            "properties": {
                "AutoAddGroupOwner": {
                    "type": "boolean"
                },
                "GroupOwner": {
                    "type": "string"
                }
            },
            "required": [
                "AutoAddGroupOwner"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": {
            "additionalProperties": false,
            "properties": {
                "GroupOwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting"
                },
                "SourcePath": {
                    "type": "string"
                }
            },
            "required": [
                "SourcePath"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": {
            "additionalProperties": false,
            "properties": {
                "DestinationPath": {
                    "type": "string"
                },
                "GroupOwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting"
                },
                "SourcePath": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationPath",
                "SourcePath"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": {
            "additionalProperties": false,
            "properties": {
                "LocalDeviceResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData"
                },
                "LocalVolumeResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData"
                },
                "S3MachineLearningModelResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData"
                },
                "SageMakerMachineLearningModelResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData"
                },
                "SecretsManagerSecretResourceData": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData"
                }
            },
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": {
            "additionalProperties": false,
            "properties": {
                "GroupOwner": {
                    "type": "string"
                },
                "GroupPermission": {
                    "type": "string"
                }
            },
            "required": [
                "GroupOwner",
                "GroupPermission"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "ResourceDataContainer": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer"
                }
            },
            "required": [
                "Id",
                "Name",
                "ResourceDataContainer"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": {
            "additionalProperties": false,
            "properties": {
                "DestinationPath": {
                    "type": "string"
                },
                "OwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationPath",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": {
            "additionalProperties": false,
            "properties": {
                "DestinationPath": {
                    "type": "string"
                },
                "OwnerSetting": {
                    "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting"
                },
                "SageMakerJobArn": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationPath",
                "SageMakerJobArn"
            ],
            "type": "object"
        },
        "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": {
            "additionalProperties": false,
            "properties": {
                "ARN": {
                    "type": "string"
                },
                "AdditionalStagingLabelsToDownload": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ARN"
            ],
            "type": "object"
        },
        "AWS::Greengrass::SubscriptionDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InitialVersion": {
                            "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::SubscriptionDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::SubscriptionDefinition.Subscription": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                },
                "Subject": {
                    "type": "string"
                },
                "Target": {
                    "type": "string"
                }
            },
            "required": [
                "Id",
                "Source",
                "Subject",
                "Target"
            ],
            "type": "object"
        },
        "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "Subscriptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Subscriptions"
            ],
            "type": "object"
        },
        "AWS::Greengrass::SubscriptionDefinitionVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SubscriptionDefinitionId": {
                            "type": "string"
                        },
                        "Subscriptions": {
                            "items": {
                                "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SubscriptionDefinitionId",
                        "Subscriptions"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Greengrass::SubscriptionDefinitionVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                },
                "Subject": {
                    "type": "string"
                },
                "Target": {
                    "type": "string"
                }
            },
            "required": [
                "Id",
                "Source",
                "Subject",
                "Target"
            ],
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InlineRecipe": {
                            "type": "string"
                        },
                        "LambdaFunction": {
                            "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GreengrassV2::ComponentVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": {
            "additionalProperties": false,
            "properties": {
                "DependencyType": {
                    "type": "string"
                },
                "VersionRequirement": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": {
            "additionalProperties": false,
            "properties": {
                "Devices": {
                    "items": {
                        "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount"
                    },
                    "type": "array"
                },
                "MemorySizeInKB": {
                    "type": "number"
                },
                "MountROSysfs": {
                    "type": "boolean"
                },
                "Volumes": {
                    "items": {
                        "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": {
            "additionalProperties": false,
            "properties": {
                "AddGroupOwner": {
                    "type": "boolean"
                },
                "Path": {
                    "type": "string"
                },
                "Permission": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": {
            "additionalProperties": false,
            "properties": {
                "Topic": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": {
            "additionalProperties": false,
            "properties": {
                "EnvironmentVariables": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "EventSources": {
                    "items": {
                        "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource"
                    },
                    "type": "array"
                },
                "ExecArgs": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InputPayloadEncodingType": {
                    "type": "string"
                },
                "LinuxProcessParams": {
                    "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams"
                },
                "MaxIdleTimeInSeconds": {
                    "type": "number"
                },
                "MaxInstancesCount": {
                    "type": "number"
                },
                "MaxQueueSize": {
                    "type": "number"
                },
                "Pinned": {
                    "type": "boolean"
                },
                "StatusTimeoutInSeconds": {
                    "type": "number"
                },
                "TimeoutInSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": {
            "additionalProperties": false,
            "properties": {
                "ComponentDependencies": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement"
                        }
                    },
                    "type": "object"
                },
                "ComponentLambdaParameters": {
                    "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters"
                },
                "ComponentName": {
                    "type": "string"
                },
                "ComponentPlatforms": {
                    "items": {
                        "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform"
                    },
                    "type": "array"
                },
                "ComponentVersion": {
                    "type": "string"
                },
                "LambdaArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": {
            "additionalProperties": false,
            "properties": {
                "ContainerParams": {
                    "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams"
                },
                "IsolationMode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": {
            "additionalProperties": false,
            "properties": {
                "AddGroupOwner": {
                    "type": "boolean"
                },
                "DestinationPath": {
                    "type": "string"
                },
                "Permission": {
                    "type": "string"
                },
                "SourcePath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConfigData": {
                            "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ConfigData",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GroundStation::Config"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GroundStation::Config.AntennaDownlinkConfig": {
            "additionalProperties": false,
            "properties": {
                "SpectrumConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": {
            "additionalProperties": false,
            "properties": {
                "DecodeConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig"
                },
                "DemodulationConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig"
                },
                "SpectrumConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.AntennaUplinkConfig": {
            "additionalProperties": false,
            "properties": {
                "SpectrumConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig"
                },
                "TargetEirp": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.Eirp"
                },
                "TransmitDisabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.ConfigData": {
            "additionalProperties": false,
            "properties": {
                "AntennaDownlinkConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig"
                },
                "AntennaDownlinkDemodDecodeConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig"
                },
                "AntennaUplinkConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig"
                },
                "DataflowEndpointConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig"
                },
                "S3RecordingConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig"
                },
                "TrackingConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig"
                },
                "UplinkEchoConfig": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.DataflowEndpointConfig": {
            "additionalProperties": false,
            "properties": {
                "DataflowEndpointName": {
                    "type": "string"
                },
                "DataflowEndpointRegion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.DecodeConfig": {
            "additionalProperties": false,
            "properties": {
                "UnvalidatedJSON": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.DemodulationConfig": {
            "additionalProperties": false,
            "properties": {
                "UnvalidatedJSON": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.Eirp": {
            "additionalProperties": false,
            "properties": {
                "Units": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.Frequency": {
            "additionalProperties": false,
            "properties": {
                "Units": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.FrequencyBandwidth": {
            "additionalProperties": false,
            "properties": {
                "Units": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.S3RecordingConfig": {
            "additionalProperties": false,
            "properties": {
                "BucketArn": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.SpectrumConfig": {
            "additionalProperties": false,
            "properties": {
                "Bandwidth": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth"
                },
                "CenterFrequency": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.Frequency"
                },
                "Polarization": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.TrackingConfig": {
            "additionalProperties": false,
            "properties": {
                "Autotrack": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.UplinkEchoConfig": {
            "additionalProperties": false,
            "properties": {
                "AntennaUplinkConfigArn": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::Config.UplinkSpectrumConfig": {
            "additionalProperties": false,
            "properties": {
                "CenterFrequency": {
                    "$ref": "#/definitions/AWS::GroundStation::Config.Frequency"
                },
                "Polarization": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::DataflowEndpointGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EndpointDetails": {
                            "items": {
                                "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "EndpointDetails"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GroundStation::DataflowEndpointGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": {
            "additionalProperties": false,
            "properties": {
                "Address": {
                    "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress"
                },
                "Mtu": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": {
            "additionalProperties": false,
            "properties": {
                "Endpoint": {
                    "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint"
                },
                "SecurityDetails": {
                    "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                },
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::GroundStation::MissionProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContactPostPassDurationSeconds": {
                            "type": "number"
                        },
                        "ContactPrePassDurationSeconds": {
                            "type": "number"
                        },
                        "DataflowEdges": {
                            "items": {
                                "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge"
                            },
                            "type": "array"
                        },
                        "MinimumViableContactDurationSeconds": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TrackingConfigArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DataflowEdges",
                        "MinimumViableContactDurationSeconds",
                        "Name",
                        "TrackingConfigArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GroundStation::MissionProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GroundStation::MissionProfile.DataflowEdge": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::GuardDuty::Detector": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataSources": {
                            "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations"
                        },
                        "Enable": {
                            "type": "boolean"
                        },
                        "FindingPublishingFrequency": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Enable"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GuardDuty::Detector"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": {
            "additionalProperties": false,
            "properties": {
                "S3Logs": {
                    "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enable": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::GuardDuty::Filter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Action": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DetectorId": {
                            "type": "string"
                        },
                        "FindingCriteria": {
                            "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Rank": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Action",
                        "Description",
                        "DetectorId",
                        "FindingCriteria",
                        "Name",
                        "Rank"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GuardDuty::Filter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GuardDuty::Filter.Condition": {
            "additionalProperties": false,
            "properties": {
                "Eq": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Gte": {
                    "type": "number"
                },
                "Lt": {
                    "type": "number"
                },
                "Lte": {
                    "type": "number"
                },
                "Neq": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::GuardDuty::Filter.FindingCriteria": {
            "additionalProperties": false,
            "properties": {
                "Criterion": {
                    "type": "object"
                },
                "ItemType": {
                    "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition"
                }
            },
            "type": "object"
        },
        "AWS::GuardDuty::IPSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Activate": {
                            "type": "boolean"
                        },
                        "DetectorId": {
                            "type": "string"
                        },
                        "Format": {
                            "type": "string"
                        },
                        "Location": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Activate",
                        "DetectorId",
                        "Format",
                        "Location"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GuardDuty::IPSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GuardDuty::Master": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DetectorId": {
                            "type": "string"
                        },
                        "InvitationId": {
                            "type": "string"
                        },
                        "MasterId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DetectorId",
                        "MasterId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GuardDuty::Master"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GuardDuty::Member": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DetectorId": {
                            "type": "string"
                        },
                        "DisableEmailNotification": {
                            "type": "boolean"
                        },
                        "Email": {
                            "type": "string"
                        },
                        "MemberId": {
                            "type": "string"
                        },
                        "Message": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DetectorId",
                        "Email",
                        "MemberId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GuardDuty::Member"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::GuardDuty::ThreatIntelSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Activate": {
                            "type": "boolean"
                        },
                        "DetectorId": {
                            "type": "string"
                        },
                        "Format": {
                            "type": "string"
                        },
                        "Location": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Activate",
                        "DetectorId",
                        "Format",
                        "Location"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::GuardDuty::ThreatIntelSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::AccessKey": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Serial": {
                            "type": "number"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "UserName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "UserName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::AccessKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::Group": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GroupName": {
                            "type": "string"
                        },
                        "ManagedPolicyArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Path": {
                            "type": "string"
                        },
                        "Policies": {
                            "items": {
                                "$ref": "#/definitions/AWS::IAM::Group.Policy"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::Group"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IAM::Group.Policy": {
            "additionalProperties": false,
            "properties": {
                "PolicyDocument": {
                    "type": "object"
                },
                "PolicyName": {
                    "type": "string"
                }
            },
            "required": [
                "PolicyDocument",
                "PolicyName"
            ],
            "type": "object"
        },
        "AWS::IAM::InstanceProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InstanceProfileName": {
                            "type": "string"
                        },
                        "Path": {
                            "type": "string"
                        },
                        "Roles": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Roles"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::InstanceProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::ManagedPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Groups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ManagedPolicyName": {
                            "type": "string"
                        },
                        "Path": {
                            "type": "string"
                        },
                        "PolicyDocument": {
                            "type": "object"
                        },
                        "Roles": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Users": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PolicyDocument"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::ManagedPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::OIDCProvider": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClientIdList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ThumbprintList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Url": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ThumbprintList"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::OIDCProvider"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::Policy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Groups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PolicyDocument": {
                            "type": "object"
                        },
                        "PolicyName": {
                            "type": "string"
                        },
                        "Roles": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Users": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PolicyDocument",
                        "PolicyName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::Policy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::Role": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssumeRolePolicyDocument": {
                            "type": "object"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "ManagedPolicyArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MaxSessionDuration": {
                            "type": "number"
                        },
                        "Path": {
                            "type": "string"
                        },
                        "PermissionsBoundary": {
                            "type": "string"
                        },
                        "Policies": {
                            "items": {
                                "$ref": "#/definitions/AWS::IAM::Role.Policy"
                            },
                            "type": "array"
                        },
                        "RoleName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AssumeRolePolicyDocument"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::Role"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::Role.Policy": {
            "additionalProperties": false,
            "properties": {
                "PolicyDocument": {
                    "type": "object"
                },
                "PolicyName": {
                    "type": "string"
                }
            },
            "required": [
                "PolicyDocument",
                "PolicyName"
            ],
            "type": "object"
        },
        "AWS::IAM::SAMLProvider": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "SamlMetadataDocument": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SamlMetadataDocument"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::SAMLProvider"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::ServerCertificate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CertificateBody": {
                            "type": "string"
                        },
                        "CertificateChain": {
                            "type": "string"
                        },
                        "Path": {
                            "type": "string"
                        },
                        "PrivateKey": {
                            "type": "string"
                        },
                        "ServerCertificateName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::ServerCertificate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IAM::ServiceLinkedRole": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AWSServiceName": {
                            "type": "string"
                        },
                        "CustomSuffix": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AWSServiceName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::ServiceLinkedRole"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::User": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Groups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "LoginProfile": {
                            "$ref": "#/definitions/AWS::IAM::User.LoginProfile"
                        },
                        "ManagedPolicyArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Path": {
                            "type": "string"
                        },
                        "PermissionsBoundary": {
                            "type": "string"
                        },
                        "Policies": {
                            "items": {
                                "$ref": "#/definitions/AWS::IAM::User.Policy"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserName": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::User"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IAM::User.LoginProfile": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "PasswordResetRequired": {
                    "type": "boolean"
                }
            },
            "required": [
                "Password"
            ],
            "type": "object"
        },
        "AWS::IAM::User.Policy": {
            "additionalProperties": false,
            "properties": {
                "PolicyDocument": {
                    "type": "object"
                },
                "PolicyName": {
                    "type": "string"
                }
            },
            "required": [
                "PolicyDocument",
                "PolicyName"
            ],
            "type": "object"
        },
        "AWS::IAM::UserToGroupAddition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GroupName": {
                            "type": "string"
                        },
                        "Users": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "GroupName",
                        "Users"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::UserToGroupAddition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IAM::VirtualMFADevice": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Path": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Users": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VirtualMfaDeviceName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Users"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IAM::VirtualMFADevice"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IVS::Channel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Authorized": {
                            "type": "boolean"
                        },
                        "LatencyMode": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RecordingConfigurationArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IVS::Channel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IVS::PlaybackKeyPair": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "PublicKeyMaterial": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PublicKeyMaterial"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IVS::PlaybackKeyPair"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IVS::RecordingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DestinationConfiguration": {
                            "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DestinationConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IVS::RecordingConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IVS::RecordingConfiguration.DestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "S3": {
                    "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration"
                }
            },
            "required": [
                "S3"
            ],
            "type": "object"
        },
        "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName"
            ],
            "type": "object"
        },
        "AWS::IVS::StreamKey": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ChannelArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ChannelArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IVS::StreamKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::Component": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ChangeDescription": {
                            "type": "string"
                        },
                        "Data": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Platform": {
                            "type": "string"
                        },
                        "SupportedOsVersions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Uri": {
                            "type": "string"
                        },
                        "Version": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "Platform",
                        "Version"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ImageBuilder::Component"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::ContainerRecipe": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Components": {
                            "items": {
                                "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration"
                            },
                            "type": "array"
                        },
                        "ContainerType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DockerfileTemplateData": {
                            "type": "string"
                        },
                        "DockerfileTemplateUri": {
                            "type": "string"
                        },
                        "ImageOsVersionOverride": {
                            "type": "string"
                        },
                        "InstanceConfiguration": {
                            "type": "object"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ParentImage": {
                            "type": "string"
                        },
                        "PlatformOverride": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "TargetRepository": {
                            "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository"
                        },
                        "Version": {
                            "type": "string"
                        },
                        "WorkingDirectory": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Components",
                        "ContainerType",
                        "Name",
                        "ParentImage",
                        "TargetRepository",
                        "Version"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ImageBuilder::ContainerRecipe"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ComponentArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": {
            "additionalProperties": false,
            "properties": {
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "KmsKeyId": {
                    "type": "string"
                },
                "SnapshotId": {
                    "type": "string"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "Ebs": {
                    "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification"
                },
                "NoDevice": {
                    "type": "string"
                },
                "VirtualName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BlockDeviceMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping"
                    },
                    "type": "array"
                },
                "Image": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": {
            "additionalProperties": false,
            "properties": {
                "RepositoryName": {
                    "type": "string"
                },
                "Service": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::DistributionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Distributions": {
                            "items": {
                                "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "Distributions",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ImageBuilder::DistributionConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::DistributionConfiguration.Distribution": {
            "additionalProperties": false,
            "properties": {
                "AmiDistributionConfiguration": {
                    "type": "object"
                },
                "ContainerDistributionConfiguration": {
                    "type": "object"
                },
                "LaunchTemplateConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration"
                    },
                    "type": "array"
                },
                "LicenseConfigurationArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Region": {
                    "type": "string"
                }
            },
            "required": [
                "Region"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AccountId": {
                    "type": "string"
                },
                "LaunchTemplateId": {
                    "type": "string"
                },
                "SetDefaultVersion": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::Image": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContainerRecipeArn": {
                            "type": "string"
                        },
                        "DistributionConfigurationArn": {
                            "type": "string"
                        },
                        "EnhancedImageMetadataEnabled": {
                            "type": "boolean"
                        },
                        "ImageRecipeArn": {
                            "type": "string"
                        },
                        "ImageTestsConfiguration": {
                            "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration"
                        },
                        "InfrastructureConfigurationArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "InfrastructureConfigurationArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ImageBuilder::Image"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::Image.ImageTestsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ImageTestsEnabled": {
                    "type": "boolean"
                },
                "TimeoutMinutes": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ImagePipeline": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContainerRecipeArn": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DistributionConfigurationArn": {
                            "type": "string"
                        },
                        "EnhancedImageMetadataEnabled": {
                            "type": "boolean"
                        },
                        "ImageRecipeArn": {
                            "type": "string"
                        },
                        "ImageTestsConfiguration": {
                            "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration"
                        },
                        "InfrastructureConfigurationArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Schedule": {
                            "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "InfrastructureConfigurationArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ImageBuilder::ImagePipeline"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ImageTestsEnabled": {
                    "type": "boolean"
                },
                "TimeoutMinutes": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ImagePipeline.Schedule": {
            "additionalProperties": false,
            "properties": {
                "PipelineExecutionStartCondition": {
                    "type": "string"
                },
                "ScheduleExpression": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ImageRecipe": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BlockDeviceMappings": {
                            "items": {
                                "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping"
                            },
                            "type": "array"
                        },
                        "Components": {
                            "items": {
                                "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ParentImage": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Version": {
                            "type": "string"
                        },
                        "WorkingDirectory": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Components",
                        "Name",
                        "ParentImage",
                        "Version"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ImageBuilder::ImageRecipe"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ComponentArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": {
            "additionalProperties": false,
            "properties": {
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "KmsKeyId": {
                    "type": "string"
                },
                "SnapshotId": {
                    "type": "string"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "Ebs": {
                    "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification"
                },
                "NoDevice": {
                    "type": "string"
                },
                "VirtualName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::InfrastructureConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "InstanceProfileName": {
                            "type": "string"
                        },
                        "InstanceTypes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "KeyPair": {
                            "type": "string"
                        },
                        "Logging": {
                            "type": "object"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ResourceTags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SnsTopicArn": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "TerminateInstanceOnFailure": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "InstanceProfileName",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ImageBuilder::InfrastructureConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ImageBuilder::InfrastructureConfiguration.Logging": {
            "additionalProperties": false,
            "properties": {
                "S3Logs": {
                    "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs"
                }
            },
            "type": "object"
        },
        "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": {
            "additionalProperties": false,
            "properties": {
                "S3BucketName": {
                    "type": "string"
                },
                "S3KeyPrefix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Inspector::AssessmentTarget": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssessmentTargetName": {
                            "type": "string"
                        },
                        "ResourceGroupArn": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Inspector::AssessmentTarget"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Inspector::AssessmentTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssessmentTargetArn": {
                            "type": "string"
                        },
                        "AssessmentTemplateName": {
                            "type": "string"
                        },
                        "DurationInSeconds": {
                            "type": "number"
                        },
                        "RulesPackageArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "UserAttributesForFindings": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AssessmentTargetArn",
                        "DurationInSeconds",
                        "RulesPackageArns"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Inspector::AssessmentTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Inspector::ResourceGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceGroupTags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ResourceGroupTags"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Inspector::ResourceGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT1Click::Device": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeviceId": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "DeviceId",
                        "Enabled"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT1Click::Device"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT1Click::Placement": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssociatedDevices": {
                            "type": "object"
                        },
                        "Attributes": {
                            "type": "object"
                        },
                        "PlacementName": {
                            "type": "string"
                        },
                        "ProjectName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ProjectName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT1Click::Placement"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT1Click::Project": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "PlacementTemplate": {
                            "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate"
                        },
                        "ProjectName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PlacementTemplate"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT1Click::Project"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT1Click::Project.DeviceTemplate": {
            "additionalProperties": false,
            "properties": {
                "CallbackOverrides": {
                    "type": "object"
                },
                "DeviceType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT1Click::Project.PlacementTemplate": {
            "additionalProperties": false,
            "properties": {
                "DefaultAttributes": {
                    "type": "object"
                },
                "DeviceTemplates": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::IoT::AccountAuditConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccountId": {
                            "type": "string"
                        },
                        "AuditCheckConfigurations": {
                            "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations"
                        },
                        "AuditNotificationTargetConfigurations": {
                            "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations"
                        },
                        "RoleArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AccountId",
                        "AuditCheckConfigurations",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::AccountAuditConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": {
            "additionalProperties": false,
            "properties": {
                "AuthenticatedCognitoRoleOverlyPermissiveCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "CaCertificateExpiringCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "CaCertificateKeyQualityCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "ConflictingClientIdsCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "DeviceCertificateExpiringCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "DeviceCertificateKeyQualityCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "DeviceCertificateSharedCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "IotPolicyOverlyPermissiveCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "IotRoleAliasAllowsAccessToUnusedServicesCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "IotRoleAliasOverlyPermissiveCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "LoggingDisabledCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "RevokedCaCertificateStillActiveCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "RevokedDeviceCertificateStillActiveCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                },
                "UnauthenticatedCognitoRoleOverlyPermissiveCheck": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "RoleArn": {
                    "type": "string"
                },
                "TargetArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": {
            "additionalProperties": false,
            "properties": {
                "Sns": {
                    "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget"
                }
            },
            "type": "object"
        },
        "AWS::IoT::Authorizer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthorizerFunctionArn": {
                            "type": "string"
                        },
                        "AuthorizerName": {
                            "type": "string"
                        },
                        "SigningDisabled": {
                            "type": "boolean"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TokenKeyName": {
                            "type": "string"
                        },
                        "TokenSigningPublicKeys": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "AuthorizerFunctionArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::Authorizer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::Certificate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CACertificatePem": {
                            "type": "string"
                        },
                        "CertificateMode": {
                            "type": "string"
                        },
                        "CertificatePem": {
                            "type": "string"
                        },
                        "CertificateSigningRequest": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Status"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::Certificate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::CustomMetric": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DisplayName": {
                            "type": "string"
                        },
                        "MetricName": {
                            "type": "string"
                        },
                        "MetricType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "MetricType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::CustomMetric"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::Dimension": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "StringValues": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "StringValues",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::Dimension"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::DomainConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthorizerConfig": {
                            "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig"
                        },
                        "DomainConfigurationName": {
                            "type": "string"
                        },
                        "DomainConfigurationStatus": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "ServerCertificateArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ServiceType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ValidationCertificateArn": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::DomainConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoT::DomainConfiguration.AuthorizerConfig": {
            "additionalProperties": false,
            "properties": {
                "AllowAuthorizerOverride": {
                    "type": "boolean"
                },
                "DefaultAuthorizerName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::DomainConfiguration.ServerCertificateSummary": {
            "additionalProperties": false,
            "properties": {
                "ServerCertificateArn": {
                    "type": "string"
                },
                "ServerCertificateStatus": {
                    "type": "string"
                },
                "ServerCertificateStatusDetail": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::MitigationAction": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ActionName": {
                            "type": "string"
                        },
                        "ActionParams": {
                            "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ActionParams",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::MitigationAction"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::MitigationAction.ActionParams": {
            "additionalProperties": false,
            "properties": {
                "AddThingsToThingGroupParams": {
                    "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams"
                },
                "EnableIoTLoggingParams": {
                    "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams"
                },
                "PublishFindingToSnsParams": {
                    "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams"
                },
                "ReplaceDefaultPolicyVersionParams": {
                    "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams"
                },
                "UpdateCACertificateParams": {
                    "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams"
                },
                "UpdateDeviceCertificateParams": {
                    "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams"
                }
            },
            "type": "object"
        },
        "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": {
            "additionalProperties": false,
            "properties": {
                "OverrideDynamicGroups": {
                    "type": "boolean"
                },
                "ThingGroupNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ThingGroupNames"
            ],
            "type": "object"
        },
        "AWS::IoT::MitigationAction.EnableIoTLoggingParams": {
            "additionalProperties": false,
            "properties": {
                "LogLevel": {
                    "type": "string"
                },
                "RoleArnForLogging": {
                    "type": "string"
                }
            },
            "required": [
                "LogLevel",
                "RoleArnForLogging"
            ],
            "type": "object"
        },
        "AWS::IoT::MitigationAction.PublishFindingToSnsParams": {
            "additionalProperties": false,
            "properties": {
                "TopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "TopicArn"
            ],
            "type": "object"
        },
        "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": {
            "additionalProperties": false,
            "properties": {
                "TemplateName": {
                    "type": "string"
                }
            },
            "required": [
                "TemplateName"
            ],
            "type": "object"
        },
        "AWS::IoT::MitigationAction.UpdateCACertificateParams": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                }
            },
            "required": [
                "Action"
            ],
            "type": "object"
        },
        "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                }
            },
            "required": [
                "Action"
            ],
            "type": "object"
        },
        "AWS::IoT::Policy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PolicyDocument": {
                            "type": "object"
                        },
                        "PolicyName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PolicyDocument"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::Policy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::PolicyPrincipalAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PolicyName": {
                            "type": "string"
                        },
                        "Principal": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PolicyName",
                        "Principal"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::PolicyPrincipalAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::ProvisioningTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "PreProvisioningHook": {
                            "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook"
                        },
                        "ProvisioningRoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TemplateBody": {
                            "type": "string"
                        },
                        "TemplateName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ProvisioningRoleArn",
                        "TemplateBody"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::ProvisioningTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::ProvisioningTemplate.ProvisioningHook": {
            "additionalProperties": false,
            "properties": {
                "PayloadVersion": {
                    "type": "string"
                },
                "TargetArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::ScheduledAudit": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DayOfMonth": {
                            "type": "string"
                        },
                        "DayOfWeek": {
                            "type": "string"
                        },
                        "Frequency": {
                            "type": "string"
                        },
                        "ScheduledAuditName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetCheckNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Frequency",
                        "TargetCheckNames"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::ScheduledAudit"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::SecurityProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdditionalMetricsToRetainV2": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain"
                            },
                            "type": "array"
                        },
                        "AlertTargets": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget"
                                }
                            },
                            "type": "object"
                        },
                        "Behaviors": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior"
                            },
                            "type": "array"
                        },
                        "SecurityProfileDescription": {
                            "type": "string"
                        },
                        "SecurityProfileName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::SecurityProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.AlertTarget": {
            "additionalProperties": false,
            "properties": {
                "AlertTargetArn": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "AlertTargetArn",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.Behavior": {
            "additionalProperties": false,
            "properties": {
                "Criteria": {
                    "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria"
                },
                "Metric": {
                    "type": "string"
                },
                "MetricDimension": {
                    "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension"
                },
                "Name": {
                    "type": "string"
                },
                "SuppressAlerts": {
                    "type": "boolean"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.BehaviorCriteria": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "ConsecutiveDatapointsToAlarm": {
                    "type": "number"
                },
                "ConsecutiveDatapointsToClear": {
                    "type": "number"
                },
                "DurationSeconds": {
                    "type": "number"
                },
                "MlDetectionConfig": {
                    "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig"
                },
                "StatisticalThreshold": {
                    "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold"
                },
                "Value": {
                    "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue"
                }
            },
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": {
            "additionalProperties": false,
            "properties": {
                "ConfidenceLevel": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "DimensionName": {
                    "type": "string"
                },
                "Operator": {
                    "type": "string"
                }
            },
            "required": [
                "DimensionName"
            ],
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.MetricToRetain": {
            "additionalProperties": false,
            "properties": {
                "Metric": {
                    "type": "string"
                },
                "MetricDimension": {
                    "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension"
                }
            },
            "required": [
                "Metric"
            ],
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.MetricValue": {
            "additionalProperties": false,
            "properties": {
                "Cidrs": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Count": {
                    "type": "string"
                },
                "Number": {
                    "type": "number"
                },
                "Numbers": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "Ports": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "Strings": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::IoT::SecurityProfile.StatisticalThreshold": {
            "additionalProperties": false,
            "properties": {
                "Statistic": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::Thing": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AttributePayload": {
                            "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload"
                        },
                        "ThingName": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::Thing"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoT::Thing.AttributePayload": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::IoT::ThingPrincipalAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Principal": {
                            "type": "string"
                        },
                        "ThingName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Principal",
                        "ThingName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::ThingPrincipalAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "RuleName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TopicRulePayload": {
                            "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload"
                        }
                    },
                    "required": [
                        "TopicRulePayload"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::TopicRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.Action": {
            "additionalProperties": false,
            "properties": {
                "CloudwatchAlarm": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction"
                },
                "CloudwatchLogs": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction"
                },
                "CloudwatchMetric": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction"
                },
                "DynamoDB": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction"
                },
                "DynamoDBv2": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action"
                },
                "Elasticsearch": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction"
                },
                "Firehose": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction"
                },
                "Http": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction"
                },
                "IotAnalytics": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction"
                },
                "IotEvents": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction"
                },
                "IotSiteWise": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction"
                },
                "Kafka": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction"
                },
                "Kinesis": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction"
                },
                "Lambda": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction"
                },
                "Republish": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action"
                },
                "Sns": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction"
                },
                "Sqs": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction"
                },
                "StepFunctions": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction"
                },
                "Timestream": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction"
                }
            },
            "type": "object"
        },
        "AWS::IoT::TopicRule.AssetPropertyTimestamp": {
            "additionalProperties": false,
            "properties": {
                "OffsetInNanos": {
                    "type": "string"
                },
                "TimeInSeconds": {
                    "type": "string"
                }
            },
            "required": [
                "TimeInSeconds"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.AssetPropertyValue": {
            "additionalProperties": false,
            "properties": {
                "Quality": {
                    "type": "string"
                },
                "Timestamp": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp"
                },
                "Value": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant"
                }
            },
            "required": [
                "Timestamp",
                "Value"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.AssetPropertyVariant": {
            "additionalProperties": false,
            "properties": {
                "BooleanValue": {
                    "type": "string"
                },
                "DoubleValue": {
                    "type": "string"
                },
                "IntegerValue": {
                    "type": "string"
                },
                "StringValue": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::TopicRule.CloudwatchAlarmAction": {
            "additionalProperties": false,
            "properties": {
                "AlarmName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "StateReason": {
                    "type": "string"
                },
                "StateValue": {
                    "type": "string"
                }
            },
            "required": [
                "AlarmName",
                "RoleArn",
                "StateReason",
                "StateValue"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.CloudwatchLogsAction": {
            "additionalProperties": false,
            "properties": {
                "LogGroupName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "LogGroupName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.CloudwatchMetricAction": {
            "additionalProperties": false,
            "properties": {
                "MetricName": {
                    "type": "string"
                },
                "MetricNamespace": {
                    "type": "string"
                },
                "MetricTimestamp": {
                    "type": "string"
                },
                "MetricUnit": {
                    "type": "string"
                },
                "MetricValue": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "MetricNamespace",
                "MetricUnit",
                "MetricValue",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.DynamoDBAction": {
            "additionalProperties": false,
            "properties": {
                "HashKeyField": {
                    "type": "string"
                },
                "HashKeyType": {
                    "type": "string"
                },
                "HashKeyValue": {
                    "type": "string"
                },
                "PayloadField": {
                    "type": "string"
                },
                "RangeKeyField": {
                    "type": "string"
                },
                "RangeKeyType": {
                    "type": "string"
                },
                "RangeKeyValue": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "HashKeyField",
                "HashKeyValue",
                "RoleArn",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.DynamoDBv2Action": {
            "additionalProperties": false,
            "properties": {
                "PutItem": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::TopicRule.ElasticsearchAction": {
            "additionalProperties": false,
            "properties": {
                "Endpoint": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Index": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Endpoint",
                "Id",
                "Index",
                "RoleArn",
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.FirehoseAction": {
            "additionalProperties": false,
            "properties": {
                "BatchMode": {
                    "type": "boolean"
                },
                "DeliveryStreamName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "Separator": {
                    "type": "string"
                }
            },
            "required": [
                "DeliveryStreamName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.HttpAction": {
            "additionalProperties": false,
            "properties": {
                "Auth": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization"
                },
                "ConfirmationUrl": {
                    "type": "string"
                },
                "Headers": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader"
                    },
                    "type": "array"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "Url"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.HttpActionHeader": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.HttpAuthorization": {
            "additionalProperties": false,
            "properties": {
                "Sigv4": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization"
                }
            },
            "type": "object"
        },
        "AWS::IoT::TopicRule.IotAnalyticsAction": {
            "additionalProperties": false,
            "properties": {
                "BatchMode": {
                    "type": "boolean"
                },
                "ChannelName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "ChannelName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.IotEventsAction": {
            "additionalProperties": false,
            "properties": {
                "BatchMode": {
                    "type": "boolean"
                },
                "InputName": {
                    "type": "string"
                },
                "MessageId": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "InputName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.IotSiteWiseAction": {
            "additionalProperties": false,
            "properties": {
                "PutAssetPropertyValueEntries": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry"
                    },
                    "type": "array"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "PutAssetPropertyValueEntries",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.KafkaAction": {
            "additionalProperties": false,
            "properties": {
                "ClientProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "DestinationArn": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Partition": {
                    "type": "string"
                },
                "Topic": {
                    "type": "string"
                }
            },
            "required": [
                "ClientProperties",
                "DestinationArn",
                "Topic"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.KinesisAction": {
            "additionalProperties": false,
            "properties": {
                "PartitionKey": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "StreamName": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn",
                "StreamName"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.LambdaAction": {
            "additionalProperties": false,
            "properties": {
                "FunctionArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": {
            "additionalProperties": false,
            "properties": {
                "AssetId": {
                    "type": "string"
                },
                "EntryId": {
                    "type": "string"
                },
                "PropertyAlias": {
                    "type": "string"
                },
                "PropertyId": {
                    "type": "string"
                },
                "PropertyValues": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue"
                    },
                    "type": "array"
                }
            },
            "required": [
                "PropertyValues"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.PutItemInput": {
            "additionalProperties": false,
            "properties": {
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "TableName"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.RepublishAction": {
            "additionalProperties": false,
            "properties": {
                "Qos": {
                    "type": "number"
                },
                "RoleArn": {
                    "type": "string"
                },
                "Topic": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn",
                "Topic"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.S3Action": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "CannedAcl": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName",
                "Key",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.SigV4Authorization": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                },
                "ServiceName": {
                    "type": "string"
                },
                "SigningRegion": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn",
                "ServiceName",
                "SigningRegion"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.SnsAction": {
            "additionalProperties": false,
            "properties": {
                "MessageFormat": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "TargetArn": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn",
                "TargetArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.SqsAction": {
            "additionalProperties": false,
            "properties": {
                "QueueUrl": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "UseBase64": {
                    "type": "boolean"
                }
            },
            "required": [
                "QueueUrl",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.StepFunctionsAction": {
            "additionalProperties": false,
            "properties": {
                "ExecutionNamePrefix": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "StateMachineName": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn",
                "StateMachineName"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.TimestreamAction": {
            "additionalProperties": false,
            "properties": {
                "DatabaseName": {
                    "type": "string"
                },
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension"
                    },
                    "type": "array"
                },
                "RoleArn": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                },
                "Timestamp": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp"
                }
            },
            "required": [
                "DatabaseName",
                "Dimensions",
                "RoleArn",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.TimestreamDimension": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.TimestreamTimestamp": {
            "additionalProperties": false,
            "properties": {
                "Unit": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Unit",
                "Value"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRule.TopicRulePayload": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoT::TopicRule.Action"
                    },
                    "type": "array"
                },
                "AwsIotSqlVersion": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "ErrorAction": {
                    "$ref": "#/definitions/AWS::IoT::TopicRule.Action"
                },
                "RuleDisabled": {
                    "type": "boolean"
                },
                "Sql": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Sql"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRuleDestination": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HttpUrlProperties": {
                            "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "VpcProperties": {
                            "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoT::TopicRuleDestination"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": {
            "additionalProperties": false,
            "properties": {
                "ConfirmationUrl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "VpcId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Channel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ChannelName": {
                            "type": "string"
                        },
                        "ChannelStorage": {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage"
                        },
                        "RetentionPeriod": {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTAnalytics::Channel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Channel.ChannelStorage": {
            "additionalProperties": false,
            "properties": {
                "CustomerManagedS3": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3"
                },
                "ServiceManagedS3": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Channel.CustomerManagedS3": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "KeyPrefix": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Channel.RetentionPeriod": {
            "additionalProperties": false,
            "properties": {
                "NumberOfDays": {
                    "type": "number"
                },
                "Unlimited": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Channel.ServiceManagedS3": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Actions": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action"
                            },
                            "type": "array"
                        },
                        "ContentDeliveryRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule"
                            },
                            "type": "array"
                        },
                        "DatasetName": {
                            "type": "string"
                        },
                        "LateDataRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule"
                            },
                            "type": "array"
                        },
                        "RetentionPeriod": {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Triggers": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger"
                            },
                            "type": "array"
                        },
                        "VersioningConfiguration": {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration"
                        }
                    },
                    "required": [
                        "Actions"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTAnalytics::Dataset"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.Action": {
            "additionalProperties": false,
            "properties": {
                "ActionName": {
                    "type": "string"
                },
                "ContainerAction": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction"
                },
                "QueryAction": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction"
                }
            },
            "required": [
                "ActionName"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.ContainerAction": {
            "additionalProperties": false,
            "properties": {
                "ExecutionRoleArn": {
                    "type": "string"
                },
                "Image": {
                    "type": "string"
                },
                "ResourceConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration"
                },
                "Variables": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ExecutionRoleArn",
                "Image",
                "ResourceConfiguration"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination"
                },
                "EntryName": {
                    "type": "string"
                }
            },
            "required": [
                "Destination"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": {
            "additionalProperties": false,
            "properties": {
                "IotEventsDestinationConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration"
                },
                "S3DestinationConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": {
            "additionalProperties": false,
            "properties": {
                "DatasetName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.DeltaTime": {
            "additionalProperties": false,
            "properties": {
                "OffsetSeconds": {
                    "type": "number"
                },
                "TimeExpression": {
                    "type": "string"
                }
            },
            "required": [
                "OffsetSeconds",
                "TimeExpression"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": {
            "additionalProperties": false,
            "properties": {
                "TimeoutInMinutes": {
                    "type": "number"
                }
            },
            "required": [
                "TimeoutInMinutes"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.Filter": {
            "additionalProperties": false,
            "properties": {
                "DeltaTime": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.GlueConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DatabaseName": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "DatabaseName",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "InputName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "InputName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.LateDataRule": {
            "additionalProperties": false,
            "properties": {
                "RuleConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration"
                },
                "RuleName": {
                    "type": "string"
                }
            },
            "required": [
                "RuleConfiguration"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeltaTimeSessionWindowConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.OutputFileUriValue": {
            "additionalProperties": false,
            "properties": {
                "FileName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.QueryAction": {
            "additionalProperties": false,
            "properties": {
                "Filters": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter"
                    },
                    "type": "array"
                },
                "SqlQuery": {
                    "type": "string"
                }
            },
            "required": [
                "SqlQuery"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.ResourceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ComputeType": {
                    "type": "string"
                },
                "VolumeSizeInGB": {
                    "type": "number"
                }
            },
            "required": [
                "ComputeType",
                "VolumeSizeInGB"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.RetentionPeriod": {
            "additionalProperties": false,
            "properties": {
                "NumberOfDays": {
                    "type": "number"
                },
                "Unlimited": {
                    "type": "boolean"
                }
            },
            "required": [
                "NumberOfDays",
                "Unlimited"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "GlueConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration"
                },
                "Key": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.Schedule": {
            "additionalProperties": false,
            "properties": {
                "ScheduleExpression": {
                    "type": "string"
                }
            },
            "required": [
                "ScheduleExpression"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.Trigger": {
            "additionalProperties": false,
            "properties": {
                "Schedule": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule"
                },
                "TriggeringDataset": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.TriggeringDataset": {
            "additionalProperties": false,
            "properties": {
                "DatasetName": {
                    "type": "string"
                }
            },
            "required": [
                "DatasetName"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.Variable": {
            "additionalProperties": false,
            "properties": {
                "DatasetContentVersionValue": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue"
                },
                "DoubleValue": {
                    "type": "number"
                },
                "OutputFileUriValue": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue"
                },
                "StringValue": {
                    "type": "string"
                },
                "VariableName": {
                    "type": "string"
                }
            },
            "required": [
                "VariableName"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Dataset.VersioningConfiguration": {
            "additionalProperties": false,
            "properties": {
                "MaxVersions": {
                    "type": "number"
                },
                "Unlimited": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DatastoreName": {
                            "type": "string"
                        },
                        "DatastoreStorage": {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage"
                        },
                        "FileFormatConfiguration": {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration"
                        },
                        "RetentionPeriod": {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTAnalytics::Datastore"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.Column": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.CustomerManagedS3": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "KeyPrefix": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.DatastoreStorage": {
            "additionalProperties": false,
            "properties": {
                "CustomerManagedS3": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3"
                },
                "ServiceManagedS3": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": {
            "additionalProperties": false,
            "properties": {
                "JsonConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration"
                },
                "ParquetConfiguration": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.JsonConfiguration": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.ParquetConfiguration": {
            "additionalProperties": false,
            "properties": {
                "SchemaDefinition": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.RetentionPeriod": {
            "additionalProperties": false,
            "properties": {
                "NumberOfDays": {
                    "type": "number"
                },
                "Unlimited": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.SchemaDefinition": {
            "additionalProperties": false,
            "properties": {
                "Columns": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Datastore.ServiceManagedS3": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PipelineActivities": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity"
                            },
                            "type": "array"
                        },
                        "PipelineName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PipelineActivities"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTAnalytics::Pipeline"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.Activity": {
            "additionalProperties": false,
            "properties": {
                "AddAttributes": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes"
                },
                "Channel": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel"
                },
                "Datastore": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore"
                },
                "DeviceRegistryEnrich": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich"
                },
                "DeviceShadowEnrich": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich"
                },
                "Filter": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter"
                },
                "Lambda": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda"
                },
                "Math": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math"
                },
                "RemoveAttributes": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes"
                },
                "SelectAttributes": {
                    "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.AddAttributes": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "type": "object"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.Channel": {
            "additionalProperties": false,
            "properties": {
                "ChannelName": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.Datastore": {
            "additionalProperties": false,
            "properties": {
                "DatastoreName": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": {
            "additionalProperties": false,
            "properties": {
                "Attribute": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "ThingName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": {
            "additionalProperties": false,
            "properties": {
                "Attribute": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "ThingName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.Filter": {
            "additionalProperties": false,
            "properties": {
                "Filter": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.Lambda": {
            "additionalProperties": false,
            "properties": {
                "BatchSize": {
                    "type": "number"
                },
                "LambdaName": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.Math": {
            "additionalProperties": false,
            "properties": {
                "Attribute": {
                    "type": "string"
                },
                "Math": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.RemoveAttributes": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTAnalytics::Pipeline.SelectAttributes": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "Next": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SuiteDefinitionConfiguration": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SuiteDefinitionConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTCoreDeviceAdvisor::SuiteDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DetectorModelDefinition": {
                            "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition"
                        },
                        "DetectorModelDescription": {
                            "type": "string"
                        },
                        "DetectorModelName": {
                            "type": "string"
                        },
                        "EvaluationMethod": {
                            "type": "string"
                        },
                        "Key": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DetectorModelDefinition",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTEvents::DetectorModel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.Action": {
            "additionalProperties": false,
            "properties": {
                "ClearTimer": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer"
                },
                "DynamoDB": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB"
                },
                "DynamoDBv2": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2"
                },
                "Firehose": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose"
                },
                "IotEvents": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents"
                },
                "IotSiteWise": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise"
                },
                "IotTopicPublish": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish"
                },
                "Lambda": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda"
                },
                "ResetTimer": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer"
                },
                "SetTimer": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer"
                },
                "SetVariable": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable"
                },
                "Sns": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns"
                },
                "Sqs": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs"
                }
            },
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": {
            "additionalProperties": false,
            "properties": {
                "OffsetInNanos": {
                    "type": "string"
                },
                "TimeInSeconds": {
                    "type": "string"
                }
            },
            "required": [
                "TimeInSeconds"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.AssetPropertyValue": {
            "additionalProperties": false,
            "properties": {
                "Quality": {
                    "type": "string"
                },
                "Timestamp": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp"
                },
                "Value": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant"
                }
            },
            "required": [
                "Value"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": {
            "additionalProperties": false,
            "properties": {
                "BooleanValue": {
                    "type": "string"
                },
                "DoubleValue": {
                    "type": "string"
                },
                "IntegerValue": {
                    "type": "string"
                },
                "StringValue": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.ClearTimer": {
            "additionalProperties": false,
            "properties": {
                "TimerName": {
                    "type": "string"
                }
            },
            "required": [
                "TimerName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": {
            "additionalProperties": false,
            "properties": {
                "InitialStateName": {
                    "type": "string"
                },
                "States": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State"
                    },
                    "type": "array"
                }
            },
            "required": [
                "InitialStateName",
                "States"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.DynamoDB": {
            "additionalProperties": false,
            "properties": {
                "HashKeyField": {
                    "type": "string"
                },
                "HashKeyType": {
                    "type": "string"
                },
                "HashKeyValue": {
                    "type": "string"
                },
                "Operation": {
                    "type": "string"
                },
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                },
                "PayloadField": {
                    "type": "string"
                },
                "RangeKeyField": {
                    "type": "string"
                },
                "RangeKeyType": {
                    "type": "string"
                },
                "RangeKeyValue": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "HashKeyField",
                "HashKeyValue",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.DynamoDBv2": {
            "additionalProperties": false,
            "properties": {
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "TableName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.Event": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action"
                    },
                    "type": "array"
                },
                "Condition": {
                    "type": "string"
                },
                "EventName": {
                    "type": "string"
                }
            },
            "required": [
                "EventName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.Firehose": {
            "additionalProperties": false,
            "properties": {
                "DeliveryStreamName": {
                    "type": "string"
                },
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                },
                "Separator": {
                    "type": "string"
                }
            },
            "required": [
                "DeliveryStreamName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.IotEvents": {
            "additionalProperties": false,
            "properties": {
                "InputName": {
                    "type": "string"
                },
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                }
            },
            "required": [
                "InputName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.IotSiteWise": {
            "additionalProperties": false,
            "properties": {
                "AssetId": {
                    "type": "string"
                },
                "EntryId": {
                    "type": "string"
                },
                "PropertyAlias": {
                    "type": "string"
                },
                "PropertyId": {
                    "type": "string"
                },
                "PropertyValue": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue"
                }
            },
            "required": [
                "PropertyValue"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.IotTopicPublish": {
            "additionalProperties": false,
            "properties": {
                "MqttTopic": {
                    "type": "string"
                },
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                }
            },
            "required": [
                "MqttTopic"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.Lambda": {
            "additionalProperties": false,
            "properties": {
                "FunctionArn": {
                    "type": "string"
                },
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                }
            },
            "required": [
                "FunctionArn"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.OnEnter": {
            "additionalProperties": false,
            "properties": {
                "Events": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.OnExit": {
            "additionalProperties": false,
            "properties": {
                "Events": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.OnInput": {
            "additionalProperties": false,
            "properties": {
                "Events": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event"
                    },
                    "type": "array"
                },
                "TransitionEvents": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.Payload": {
            "additionalProperties": false,
            "properties": {
                "ContentExpression": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "ContentExpression",
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.ResetTimer": {
            "additionalProperties": false,
            "properties": {
                "TimerName": {
                    "type": "string"
                }
            },
            "required": [
                "TimerName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.SetTimer": {
            "additionalProperties": false,
            "properties": {
                "DurationExpression": {
                    "type": "string"
                },
                "Seconds": {
                    "type": "number"
                },
                "TimerName": {
                    "type": "string"
                }
            },
            "required": [
                "TimerName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.SetVariable": {
            "additionalProperties": false,
            "properties": {
                "Value": {
                    "type": "string"
                },
                "VariableName": {
                    "type": "string"
                }
            },
            "required": [
                "Value",
                "VariableName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.Sns": {
            "additionalProperties": false,
            "properties": {
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                },
                "TargetArn": {
                    "type": "string"
                }
            },
            "required": [
                "TargetArn"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.Sqs": {
            "additionalProperties": false,
            "properties": {
                "Payload": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload"
                },
                "QueueUrl": {
                    "type": "string"
                },
                "UseBase64": {
                    "type": "boolean"
                }
            },
            "required": [
                "QueueUrl"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.State": {
            "additionalProperties": false,
            "properties": {
                "OnEnter": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter"
                },
                "OnExit": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit"
                },
                "OnInput": {
                    "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput"
                },
                "StateName": {
                    "type": "string"
                }
            },
            "required": [
                "StateName"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::DetectorModel.TransitionEvent": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action"
                    },
                    "type": "array"
                },
                "Condition": {
                    "type": "string"
                },
                "EventName": {
                    "type": "string"
                },
                "NextState": {
                    "type": "string"
                }
            },
            "required": [
                "Condition",
                "EventName",
                "NextState"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::Input": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InputDefinition": {
                            "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition"
                        },
                        "InputDescription": {
                            "type": "string"
                        },
                        "InputName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InputDefinition"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTEvents::Input"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::Input.Attribute": {
            "additionalProperties": false,
            "properties": {
                "JsonPath": {
                    "type": "string"
                }
            },
            "required": [
                "JsonPath"
            ],
            "type": "object"
        },
        "AWS::IoTEvents::Input.InputDefinition": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Attributes"
            ],
            "type": "object"
        },
        "AWS::IoTFleetHub::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationDescription": {
                            "type": "string"
                        },
                        "ApplicationName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTFleetHub::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessPolicyIdentity": {
                            "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity"
                        },
                        "AccessPolicyPermission": {
                            "type": "string"
                        },
                        "AccessPolicyResource": {
                            "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource"
                        }
                    },
                    "required": [
                        "AccessPolicyIdentity",
                        "AccessPolicyPermission",
                        "AccessPolicyResource"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTSiteWise::AccessPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": {
            "additionalProperties": false,
            "properties": {
                "IamRole": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole"
                },
                "IamUser": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser"
                },
                "User": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": {
            "additionalProperties": false,
            "properties": {
                "Portal": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal"
                },
                "Project": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy.IamRole": {
            "additionalProperties": false,
            "properties": {
                "arn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy.IamUser": {
            "additionalProperties": false,
            "properties": {
                "arn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy.Portal": {
            "additionalProperties": false,
            "properties": {
                "id": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy.Project": {
            "additionalProperties": false,
            "properties": {
                "id": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AccessPolicy.User": {
            "additionalProperties": false,
            "properties": {
                "id": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::Asset": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssetHierarchies": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy"
                            },
                            "type": "array"
                        },
                        "AssetModelId": {
                            "type": "string"
                        },
                        "AssetName": {
                            "type": "string"
                        },
                        "AssetProperties": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AssetModelId",
                        "AssetName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTSiteWise::Asset"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Asset.AssetHierarchy": {
            "additionalProperties": false,
            "properties": {
                "ChildAssetId": {
                    "type": "string"
                },
                "LogicalId": {
                    "type": "string"
                }
            },
            "required": [
                "ChildAssetId",
                "LogicalId"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Asset.AssetProperty": {
            "additionalProperties": false,
            "properties": {
                "Alias": {
                    "type": "string"
                },
                "LogicalId": {
                    "type": "string"
                },
                "NotificationState": {
                    "type": "string"
                }
            },
            "required": [
                "LogicalId"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssetModelCompositeModels": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel"
                            },
                            "type": "array"
                        },
                        "AssetModelDescription": {
                            "type": "string"
                        },
                        "AssetModelHierarchies": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy"
                            },
                            "type": "array"
                        },
                        "AssetModelName": {
                            "type": "string"
                        },
                        "AssetModelProperties": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AssetModelName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTSiteWise::AssetModel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": {
            "additionalProperties": false,
            "properties": {
                "CompositeModelProperties": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty"
                    },
                    "type": "array"
                },
                "Description": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": {
            "additionalProperties": false,
            "properties": {
                "ChildAssetModelId": {
                    "type": "string"
                },
                "LogicalId": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "ChildAssetModelId",
                "LogicalId",
                "Name"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.AssetModelProperty": {
            "additionalProperties": false,
            "properties": {
                "DataType": {
                    "type": "string"
                },
                "DataTypeSpec": {
                    "type": "string"
                },
                "LogicalId": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "DataType",
                "LogicalId",
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.Attribute": {
            "additionalProperties": false,
            "properties": {
                "DefaultValue": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.ExpressionVariable": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.Metric": {
            "additionalProperties": false,
            "properties": {
                "Expression": {
                    "type": "string"
                },
                "Variables": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable"
                    },
                    "type": "array"
                },
                "Window": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow"
                }
            },
            "required": [
                "Expression",
                "Variables",
                "Window"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.MetricWindow": {
            "additionalProperties": false,
            "properties": {
                "Tumbling": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow"
                }
            },
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.PropertyType": {
            "additionalProperties": false,
            "properties": {
                "Attribute": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute"
                },
                "Metric": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric"
                },
                "Transform": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform"
                },
                "TypeName": {
                    "type": "string"
                }
            },
            "required": [
                "TypeName"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.Transform": {
            "additionalProperties": false,
            "properties": {
                "Expression": {
                    "type": "string"
                },
                "Variables": {
                    "items": {
                        "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Expression",
                "Variables"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.TumblingWindow": {
            "additionalProperties": false,
            "properties": {
                "Interval": {
                    "type": "string"
                }
            },
            "required": [
                "Interval"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::AssetModel.VariableValue": {
            "additionalProperties": false,
            "properties": {
                "HierarchyLogicalId": {
                    "type": "string"
                },
                "PropertyLogicalId": {
                    "type": "string"
                }
            },
            "required": [
                "PropertyLogicalId"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Dashboard": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DashboardDefinition": {
                            "type": "string"
                        },
                        "DashboardDescription": {
                            "type": "string"
                        },
                        "DashboardName": {
                            "type": "string"
                        },
                        "ProjectId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DashboardDefinition",
                        "DashboardDescription",
                        "DashboardName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTSiteWise::Dashboard"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Gateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GatewayCapabilitySummaries": {
                            "items": {
                                "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary"
                            },
                            "type": "array"
                        },
                        "GatewayName": {
                            "type": "string"
                        },
                        "GatewayPlatform": {
                            "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "GatewayName",
                        "GatewayPlatform"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTSiteWise::Gateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": {
            "additionalProperties": false,
            "properties": {
                "CapabilityConfiguration": {
                    "type": "string"
                },
                "CapabilityNamespace": {
                    "type": "string"
                }
            },
            "required": [
                "CapabilityNamespace"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Gateway.GatewayPlatform": {
            "additionalProperties": false,
            "properties": {
                "Greengrass": {
                    "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass"
                }
            },
            "required": [
                "Greengrass"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Gateway.Greengrass": {
            "additionalProperties": false,
            "properties": {
                "GroupArn": {
                    "type": "string"
                }
            },
            "required": [
                "GroupArn"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Portal": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PortalAuthMode": {
                            "type": "string"
                        },
                        "PortalContactEmail": {
                            "type": "string"
                        },
                        "PortalDescription": {
                            "type": "string"
                        },
                        "PortalName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PortalContactEmail",
                        "PortalName",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTSiteWise::Portal"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTSiteWise::Project": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PortalId": {
                            "type": "string"
                        },
                        "ProjectDescription": {
                            "type": "string"
                        },
                        "ProjectName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PortalId",
                        "ProjectName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTSiteWise::Project"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTThingsGraph::FlowTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CompatibleNamespaceVersion": {
                            "type": "number"
                        },
                        "Definition": {
                            "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument"
                        }
                    },
                    "required": [
                        "Definition"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTThingsGraph::FlowTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": {
            "additionalProperties": false,
            "properties": {
                "Language": {
                    "type": "string"
                },
                "Text": {
                    "type": "string"
                }
            },
            "required": [
                "Language",
                "Text"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::Destination": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Expression": {
                            "type": "string"
                        },
                        "ExpressionType": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Expression",
                        "ExpressionType",
                        "Name",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTWireless::Destination"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::DeviceProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LoRaWAN": {
                            "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTWireless::DeviceProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": {
            "additionalProperties": false,
            "properties": {
                "ClassBTimeout": {
                    "type": "number"
                },
                "ClassCTimeout": {
                    "type": "number"
                },
                "MacVersion": {
                    "type": "string"
                },
                "MaxDutyCycle": {
                    "type": "number"
                },
                "MaxEirp": {
                    "type": "number"
                },
                "PingSlotDr": {
                    "type": "number"
                },
                "PingSlotFreq": {
                    "type": "number"
                },
                "PingSlotPeriod": {
                    "type": "number"
                },
                "RegParamsRevision": {
                    "type": "string"
                },
                "RfRegion": {
                    "type": "string"
                },
                "Supports32BitFCnt": {
                    "type": "boolean"
                },
                "SupportsClassB": {
                    "type": "boolean"
                },
                "SupportsClassC": {
                    "type": "boolean"
                },
                "SupportsJoin": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::PartnerAccount": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccountLinked": {
                            "type": "boolean"
                        },
                        "Fingerprint": {
                            "type": "string"
                        },
                        "PartnerAccountId": {
                            "type": "string"
                        },
                        "PartnerType": {
                            "type": "string"
                        },
                        "Sidewalk": {
                            "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo"
                        },
                        "SidewalkUpdate": {
                            "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTWireless::PartnerAccount"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": {
            "additionalProperties": false,
            "properties": {
                "AppServerPrivateKey": {
                    "type": "string"
                }
            },
            "required": [
                "AppServerPrivateKey"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": {
            "additionalProperties": false,
            "properties": {
                "AppServerPrivateKey": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::ServiceProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LoRaWAN": {
                            "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTWireless::ServiceProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": {
            "additionalProperties": false,
            "properties": {
                "AddGwMetadata": {
                    "type": "boolean"
                },
                "ChannelMask": {
                    "type": "string"
                },
                "DevStatusReqFreq": {
                    "type": "number"
                },
                "DlBucketSize": {
                    "type": "number"
                },
                "DlRate": {
                    "type": "number"
                },
                "DlRatePolicy": {
                    "type": "string"
                },
                "DrMax": {
                    "type": "number"
                },
                "DrMin": {
                    "type": "number"
                },
                "HrAllowed": {
                    "type": "boolean"
                },
                "MinGwDiversity": {
                    "type": "number"
                },
                "NwkGeoLoc": {
                    "type": "boolean"
                },
                "PrAllowed": {
                    "type": "boolean"
                },
                "RaAllowed": {
                    "type": "boolean"
                },
                "ReportDevStatusBattery": {
                    "type": "boolean"
                },
                "ReportDevStatusMargin": {
                    "type": "boolean"
                },
                "TargetPer": {
                    "type": "number"
                },
                "UlBucketSize": {
                    "type": "number"
                },
                "UlRate": {
                    "type": "number"
                },
                "UlRatePolicy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::TaskDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoCreateTasks": {
                            "type": "boolean"
                        },
                        "LoRaWANUpdateGatewayTaskEntry": {
                            "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TaskDefinitionType": {
                            "type": "string"
                        },
                        "Update": {
                            "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate"
                        }
                    },
                    "required": [
                        "AutoCreateTasks"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTWireless::TaskDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": {
            "additionalProperties": false,
            "properties": {
                "Model": {
                    "type": "string"
                },
                "PackageVersion": {
                    "type": "string"
                },
                "Station": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": {
            "additionalProperties": false,
            "properties": {
                "CurrentVersion": {
                    "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion"
                },
                "SigKeyCrc": {
                    "type": "number"
                },
                "UpdateSignature": {
                    "type": "string"
                },
                "UpdateVersion": {
                    "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": {
            "additionalProperties": false,
            "properties": {
                "CurrentVersion": {
                    "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion"
                },
                "UpdateVersion": {
                    "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": {
            "additionalProperties": false,
            "properties": {
                "LoRaWAN": {
                    "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate"
                },
                "UpdateDataRole": {
                    "type": "string"
                },
                "UpdateDataSource": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "DestinationName": {
                            "type": "string"
                        },
                        "LastUplinkReceivedAt": {
                            "type": "string"
                        },
                        "LoRaWAN": {
                            "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ThingArn": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DestinationName",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTWireless::WirelessDevice"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice.AbpV10x": {
            "additionalProperties": false,
            "properties": {
                "DevAddr": {
                    "type": "string"
                },
                "SessionKeys": {
                    "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x"
                }
            },
            "required": [
                "DevAddr",
                "SessionKeys"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice.AbpV11": {
            "additionalProperties": false,
            "properties": {
                "DevAddr": {
                    "type": "string"
                },
                "SessionKeys": {
                    "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11"
                }
            },
            "required": [
                "DevAddr",
                "SessionKeys"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": {
            "additionalProperties": false,
            "properties": {
                "AbpV10x": {
                    "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x"
                },
                "AbpV11": {
                    "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11"
                },
                "DevEui": {
                    "type": "string"
                },
                "DeviceProfileId": {
                    "type": "string"
                },
                "OtaaV10x": {
                    "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x"
                },
                "OtaaV11": {
                    "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11"
                },
                "ServiceProfileId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice.OtaaV10x": {
            "additionalProperties": false,
            "properties": {
                "AppEui": {
                    "type": "string"
                },
                "AppKey": {
                    "type": "string"
                }
            },
            "required": [
                "AppEui",
                "AppKey"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice.OtaaV11": {
            "additionalProperties": false,
            "properties": {
                "AppKey": {
                    "type": "string"
                },
                "JoinEui": {
                    "type": "string"
                },
                "NwkKey": {
                    "type": "string"
                }
            },
            "required": [
                "AppKey",
                "JoinEui",
                "NwkKey"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": {
            "additionalProperties": false,
            "properties": {
                "AppSKey": {
                    "type": "string"
                },
                "NwkSKey": {
                    "type": "string"
                }
            },
            "required": [
                "AppSKey",
                "NwkSKey"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": {
            "additionalProperties": false,
            "properties": {
                "AppSKey": {
                    "type": "string"
                },
                "FNwkSIntKey": {
                    "type": "string"
                },
                "NwkSEncKey": {
                    "type": "string"
                },
                "SNwkSIntKey": {
                    "type": "string"
                }
            },
            "required": [
                "AppSKey",
                "FNwkSIntKey",
                "NwkSEncKey",
                "SNwkSIntKey"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessGateway": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "LastUplinkReceivedAt": {
                            "type": "string"
                        },
                        "LoRaWAN": {
                            "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ThingArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "LoRaWAN"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::IoTWireless::WirelessGateway"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": {
            "additionalProperties": false,
            "properties": {
                "GatewayEui": {
                    "type": "string"
                },
                "RfRegion": {
                    "type": "string"
                }
            },
            "required": [
                "GatewayEui",
                "RfRegion"
            ],
            "type": "object"
        },
        "AWS::KMS::Alias": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AliasName": {
                            "type": "string"
                        },
                        "TargetKeyId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AliasName",
                        "TargetKeyId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KMS::Alias"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KMS::Key": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "EnableKeyRotation": {
                            "type": "boolean"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "KeyPolicy": {
                            "type": "object"
                        },
                        "KeySpec": {
                            "type": "string"
                        },
                        "KeyUsage": {
                            "type": "string"
                        },
                        "PendingWindowInDays": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "KeyPolicy"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KMS::Key"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataSourceConfiguration": {
                            "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "IndexId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Schedule": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "IndexId",
                        "Name",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Kendra::DataSource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.AccessControlListConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KeyPath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.AclConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AllowedGroupsColumnName": {
                    "type": "string"
                }
            },
            "required": [
                "AllowedGroupsColumnName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ColumnConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ChangeDetectingColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DocumentDataColumnName": {
                    "type": "string"
                },
                "DocumentIdColumnName": {
                    "type": "string"
                },
                "DocumentTitleColumnName": {
                    "type": "string"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ChangeDetectingColumns",
                "DocumentDataColumnName",
                "DocumentIdColumnName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AttachmentFieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "CrawlAttachments": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": {
            "additionalProperties": false,
            "properties": {
                "DataSourceFieldName": {
                    "type": "string"
                },
                "DateFieldFormat": {
                    "type": "string"
                },
                "IndexFieldName": {
                    "type": "string"
                }
            },
            "required": [
                "DataSourceFieldName",
                "IndexFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BlogFieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": {
            "additionalProperties": false,
            "properties": {
                "DataSourceFieldName": {
                    "type": "string"
                },
                "DateFieldFormat": {
                    "type": "string"
                },
                "IndexFieldName": {
                    "type": "string"
                }
            },
            "required": [
                "DataSourceFieldName",
                "IndexFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluenceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AttachmentConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration"
                },
                "BlogConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration"
                },
                "ExclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "PageConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration"
                },
                "SecretArn": {
                    "type": "string"
                },
                "ServerUrl": {
                    "type": "string"
                },
                "SpaceConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration"
                },
                "Version": {
                    "type": "string"
                },
                "VpcConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration"
                }
            },
            "required": [
                "SecretArn",
                "ServerUrl",
                "Version"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluencePageConfiguration": {
            "additionalProperties": false,
            "properties": {
                "PageFieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": {
            "additionalProperties": false,
            "properties": {
                "DataSourceFieldName": {
                    "type": "string"
                },
                "DateFieldFormat": {
                    "type": "string"
                },
                "IndexFieldName": {
                    "type": "string"
                }
            },
            "required": [
                "DataSourceFieldName",
                "IndexFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CrawlArchivedSpaces": {
                    "type": "boolean"
                },
                "CrawlPersonalSpaces": {
                    "type": "boolean"
                },
                "ExcludeSpaces": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "IncludeSpaces": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SpaceFieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": {
            "additionalProperties": false,
            "properties": {
                "DataSourceFieldName": {
                    "type": "string"
                },
                "DateFieldFormat": {
                    "type": "string"
                },
                "IndexFieldName": {
                    "type": "string"
                }
            },
            "required": [
                "DataSourceFieldName",
                "IndexFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ConnectionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DatabaseHost": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "DatabasePort": {
                    "type": "number"
                },
                "SecretArn": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "DatabaseHost",
                "DatabaseName",
                "DatabasePort",
                "SecretArn",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.DataSourceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ConfluenceConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration"
                },
                "DatabaseConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration"
                },
                "GoogleDriveConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration"
                },
                "OneDriveConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration"
                },
                "S3Configuration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration"
                },
                "SalesforceConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration"
                },
                "ServiceNowConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration"
                },
                "SharePointConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": {
            "additionalProperties": false,
            "properties": {
                "DataSourceFieldName": {
                    "type": "string"
                },
                "DateFieldFormat": {
                    "type": "string"
                },
                "IndexFieldName": {
                    "type": "string"
                }
            },
            "required": [
                "DataSourceFieldName",
                "IndexFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.DataSourceVpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "SubnetIds"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.DatabaseConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AclConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration"
                },
                "ColumnConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration"
                },
                "ConnectionConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration"
                },
                "DatabaseEngineType": {
                    "type": "string"
                },
                "SqlConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration"
                },
                "VpcConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration"
                }
            },
            "required": [
                "ColumnConfiguration",
                "ConnectionConfiguration",
                "DatabaseEngineType"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": {
            "additionalProperties": false,
            "properties": {
                "S3Prefix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.GoogleDriveConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ExcludeMimeTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExcludeSharedDrives": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExcludeUserAccounts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "InclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SecretArn": {
                    "type": "string"
                }
            },
            "required": [
                "SecretArn"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.OneDriveConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DisableLocalGroups": {
                    "type": "boolean"
                },
                "ExclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "InclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "OneDriveUsers": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers"
                },
                "SecretArn": {
                    "type": "string"
                },
                "TenantDomain": {
                    "type": "string"
                }
            },
            "required": [
                "OneDriveUsers",
                "SecretArn",
                "TenantDomain"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.OneDriveUsers": {
            "additionalProperties": false,
            "properties": {
                "OneDriveUserList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "OneDriveUserS3Path": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.S3DataSourceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AccessControlListConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration"
                },
                "BucketName": {
                    "type": "string"
                },
                "DocumentsMetadataConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration"
                },
                "ExclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InclusionPrefixes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "BucketName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.S3Path": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DocumentDataFieldName": {
                    "type": "string"
                },
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "IncludeFilterTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DocumentDataFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SalesforceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ChatterFeedConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration"
                },
                "CrawlAttachments": {
                    "type": "boolean"
                },
                "ExcludeAttachmentFilePatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "IncludeAttachmentFilePatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "KnowledgeArticleConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration"
                },
                "SecretArn": {
                    "type": "string"
                },
                "ServerUrl": {
                    "type": "string"
                },
                "StandardObjectAttachmentConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration"
                },
                "StandardObjectConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecretArn",
                "ServerUrl"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DocumentDataFieldName": {
                    "type": "string"
                },
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "DocumentDataFieldName",
                "Name"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CustomKnowledgeArticleTypeConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration"
                    },
                    "type": "array"
                },
                "IncludedStates": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StandardKnowledgeArticleTypeConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration"
                }
            },
            "required": [
                "IncludedStates"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DocumentDataFieldName": {
                    "type": "string"
                },
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DocumentDataFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DocumentDataFieldName": {
                    "type": "string"
                },
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "DocumentDataFieldName",
                "Name"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ServiceNowConfiguration": {
            "additionalProperties": false,
            "properties": {
                "HostUrl": {
                    "type": "string"
                },
                "KnowledgeArticleConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration"
                },
                "SecretArn": {
                    "type": "string"
                },
                "ServiceCatalogConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration"
                },
                "ServiceNowBuildVersion": {
                    "type": "string"
                }
            },
            "required": [
                "HostUrl",
                "SecretArn",
                "ServiceNowBuildVersion"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CrawlAttachments": {
                    "type": "boolean"
                },
                "DocumentDataFieldName": {
                    "type": "string"
                },
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "ExcludeAttachmentFilePatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "IncludeAttachmentFilePatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DocumentDataFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CrawlAttachments": {
                    "type": "boolean"
                },
                "DocumentDataFieldName": {
                    "type": "string"
                },
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "ExcludeAttachmentFilePatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "IncludeAttachmentFilePatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DocumentDataFieldName"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SharePointConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CrawlAttachments": {
                    "type": "boolean"
                },
                "DisableLocalGroups": {
                    "type": "boolean"
                },
                "DocumentTitleFieldName": {
                    "type": "string"
                },
                "ExclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "FieldMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping"
                    },
                    "type": "array"
                },
                "InclusionPatterns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SecretArn": {
                    "type": "string"
                },
                "SharePointVersion": {
                    "type": "string"
                },
                "Urls": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "UseChangeLog": {
                    "type": "boolean"
                },
                "VpcConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration"
                }
            },
            "required": [
                "SecretArn",
                "SharePointVersion",
                "Urls"
            ],
            "type": "object"
        },
        "AWS::Kendra::DataSource.SqlConfiguration": {
            "additionalProperties": false,
            "properties": {
                "QueryIdentifiersEnclosingOption": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::Faq": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "FileFormat": {
                            "type": "string"
                        },
                        "IndexId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "S3Path": {
                            "$ref": "#/definitions/AWS::Kendra::Faq.S3Path"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "IndexId",
                        "Name",
                        "RoleArn",
                        "S3Path"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Kendra::Faq"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Kendra::Faq.S3Path": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::Kendra::Index": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CapacityUnits": {
                            "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DocumentMetadataConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration"
                            },
                            "type": "array"
                        },
                        "Edition": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "ServerSideEncryptionConfiguration": {
                            "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserContextPolicy": {
                            "type": "string"
                        },
                        "UserTokenConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Edition",
                        "Name",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Kendra::Index"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Kendra::Index.CapacityUnitsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "QueryCapacityUnits": {
                    "type": "number"
                },
                "StorageCapacityUnits": {
                    "type": "number"
                }
            },
            "required": [
                "QueryCapacityUnits",
                "StorageCapacityUnits"
            ],
            "type": "object"
        },
        "AWS::Kendra::Index.DocumentMetadataConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Relevance": {
                    "$ref": "#/definitions/AWS::Kendra::Index.Relevance"
                },
                "Search": {
                    "$ref": "#/definitions/AWS::Kendra::Index.Search"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Kendra::Index.JsonTokenTypeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "GroupAttributeField": {
                    "type": "string"
                },
                "UserNameAttributeField": {
                    "type": "string"
                }
            },
            "required": [
                "GroupAttributeField",
                "UserNameAttributeField"
            ],
            "type": "object"
        },
        "AWS::Kendra::Index.JwtTokenTypeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ClaimRegex": {
                    "type": "string"
                },
                "GroupAttributeField": {
                    "type": "string"
                },
                "Issuer": {
                    "type": "string"
                },
                "KeyLocation": {
                    "type": "string"
                },
                "SecretManagerArn": {
                    "type": "string"
                },
                "URL": {
                    "type": "string"
                },
                "UserNameAttributeField": {
                    "type": "string"
                }
            },
            "required": [
                "KeyLocation"
            ],
            "type": "object"
        },
        "AWS::Kendra::Index.Relevance": {
            "additionalProperties": false,
            "properties": {
                "Duration": {
                    "type": "string"
                },
                "Freshness": {
                    "type": "boolean"
                },
                "Importance": {
                    "type": "number"
                },
                "RankOrder": {
                    "type": "string"
                },
                "ValueImportanceItems": {
                    "items": {
                        "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::Index.Search": {
            "additionalProperties": false,
            "properties": {
                "Displayable": {
                    "type": "boolean"
                },
                "Facetable": {
                    "type": "boolean"
                },
                "Searchable": {
                    "type": "boolean"
                },
                "Sortable": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::Index.ServerSideEncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::Index.UserTokenConfiguration": {
            "additionalProperties": false,
            "properties": {
                "JsonTokenTypeConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration"
                },
                "JwtTokenTypeConfiguration": {
                    "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::Kendra::Index.ValueImportanceItem": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Kinesis::Stream": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "RetentionPeriodHours": {
                            "type": "number"
                        },
                        "ShardCount": {
                            "type": "number"
                        },
                        "StreamEncryption": {
                            "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ShardCount"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Kinesis::Stream"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Kinesis::Stream.StreamEncryption": {
            "additionalProperties": false,
            "properties": {
                "EncryptionType": {
                    "type": "string"
                },
                "KeyId": {
                    "type": "string"
                }
            },
            "required": [
                "EncryptionType",
                "KeyId"
            ],
            "type": "object"
        },
        "AWS::Kinesis::StreamConsumer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConsumerName": {
                            "type": "string"
                        },
                        "StreamARN": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConsumerName",
                        "StreamARN"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Kinesis::StreamConsumer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationCode": {
                            "type": "string"
                        },
                        "ApplicationDescription": {
                            "type": "string"
                        },
                        "ApplicationName": {
                            "type": "string"
                        },
                        "Inputs": {
                            "items": {
                                "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Inputs"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisAnalytics::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.CSVMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordColumnDelimiter": {
                    "type": "string"
                },
                "RecordRowDelimiter": {
                    "type": "string"
                }
            },
            "required": [
                "RecordColumnDelimiter",
                "RecordRowDelimiter"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.Input": {
            "additionalProperties": false,
            "properties": {
                "InputParallelism": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism"
                },
                "InputProcessingConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration"
                },
                "InputSchema": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema"
                },
                "KinesisFirehoseInput": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput"
                },
                "KinesisStreamsInput": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput"
                },
                "NamePrefix": {
                    "type": "string"
                }
            },
            "required": [
                "InputSchema",
                "NamePrefix"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.InputLambdaProcessor": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.InputParallelism": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "InputLambdaProcessor": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.InputSchema": {
            "additionalProperties": false,
            "properties": {
                "RecordColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn"
                    },
                    "type": "array"
                },
                "RecordEncoding": {
                    "type": "string"
                },
                "RecordFormat": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat"
                }
            },
            "required": [
                "RecordColumns",
                "RecordFormat"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.JSONMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordRowPath": {
                    "type": "string"
                }
            },
            "required": [
                "RecordRowPath"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.KinesisStreamsInput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.MappingParameters": {
            "additionalProperties": false,
            "properties": {
                "CSVMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters"
                },
                "JSONMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.RecordColumn": {
            "additionalProperties": false,
            "properties": {
                "Mapping": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "SqlType": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "SqlType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::Application.RecordFormat": {
            "additionalProperties": false,
            "properties": {
                "MappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters"
                },
                "RecordFormatType": {
                    "type": "string"
                }
            },
            "required": [
                "RecordFormatType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationOutput": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "Output": {
                            "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "Output"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisAnalytics::ApplicationOutput"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": {
            "additionalProperties": false,
            "properties": {
                "RecordFormatType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationOutput.Output": {
            "additionalProperties": false,
            "properties": {
                "DestinationSchema": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema"
                },
                "KinesisFirehoseOutput": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput"
                },
                "KinesisStreamsOutput": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput"
                },
                "LambdaOutput": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationSchema"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "ReferenceDataSource": {
                            "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "ReferenceDataSource"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisAnalytics::ApplicationReferenceDataSource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordColumnDelimiter": {
                    "type": "string"
                },
                "RecordRowDelimiter": {
                    "type": "string"
                }
            },
            "required": [
                "RecordColumnDelimiter",
                "RecordRowDelimiter"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordRowPath": {
                    "type": "string"
                }
            },
            "required": [
                "RecordRowPath"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": {
            "additionalProperties": false,
            "properties": {
                "CSVMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters"
                },
                "JSONMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": {
            "additionalProperties": false,
            "properties": {
                "Mapping": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "SqlType": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "SqlType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": {
            "additionalProperties": false,
            "properties": {
                "MappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters"
                },
                "RecordFormatType": {
                    "type": "string"
                }
            },
            "required": [
                "RecordFormatType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": {
            "additionalProperties": false,
            "properties": {
                "ReferenceSchema": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema"
                },
                "S3ReferenceDataSource": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "ReferenceSchema"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": {
            "additionalProperties": false,
            "properties": {
                "RecordColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn"
                    },
                    "type": "array"
                },
                "RecordEncoding": {
                    "type": "string"
                },
                "RecordFormat": {
                    "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat"
                }
            },
            "required": [
                "RecordColumns",
                "RecordFormat"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": {
            "additionalProperties": false,
            "properties": {
                "BucketARN": {
                    "type": "string"
                },
                "FileKey": {
                    "type": "string"
                },
                "ReferenceRoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "BucketARN",
                "FileKey",
                "ReferenceRoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration"
                        },
                        "ApplicationDescription": {
                            "type": "string"
                        },
                        "ApplicationMode": {
                            "type": "string"
                        },
                        "ApplicationName": {
                            "type": "string"
                        },
                        "RuntimeEnvironment": {
                            "type": "string"
                        },
                        "ServiceExecutionRole": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "RuntimeEnvironment",
                        "ServiceExecutionRole"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisAnalyticsV2::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CodeContent": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent"
                },
                "CodeContentType": {
                    "type": "string"
                }
            },
            "required": [
                "CodeContent",
                "CodeContentType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ApplicationCodeConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration"
                },
                "ApplicationSnapshotConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration"
                },
                "EnvironmentProperties": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties"
                },
                "FlinkApplicationConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration"
                },
                "SqlApplicationConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration"
                },
                "ZeppelinApplicationConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": {
            "additionalProperties": false,
            "properties": {
                "SnapshotsEnabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "SnapshotsEnabled"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordColumnDelimiter": {
                    "type": "string"
                },
                "RecordRowDelimiter": {
                    "type": "string"
                }
            },
            "required": [
                "RecordColumnDelimiter",
                "RecordRowDelimiter"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "GlueDataCatalogConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CheckpointInterval": {
                    "type": "number"
                },
                "CheckpointingEnabled": {
                    "type": "boolean"
                },
                "ConfigurationType": {
                    "type": "string"
                },
                "MinPauseBetweenCheckpoints": {
                    "type": "number"
                }
            },
            "required": [
                "ConfigurationType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.CodeContent": {
            "additionalProperties": false,
            "properties": {
                "S3ContentLocation": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation"
                },
                "TextContent": {
                    "type": "string"
                },
                "ZipFileContent": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ArtifactType": {
                    "type": "string"
                },
                "MavenReference": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference"
                },
                "S3ContentLocation": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation"
                }
            },
            "required": [
                "ArtifactType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "S3ContentLocation": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation"
                }
            },
            "required": [
                "S3ContentLocation"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": {
            "additionalProperties": false,
            "properties": {
                "PropertyGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CheckpointConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration"
                },
                "MonitoringConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration"
                },
                "ParallelismConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DatabaseARN": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.Input": {
            "additionalProperties": false,
            "properties": {
                "InputParallelism": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism"
                },
                "InputProcessingConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration"
                },
                "InputSchema": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema"
                },
                "KinesisFirehoseInput": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput"
                },
                "KinesisStreamsInput": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput"
                },
                "NamePrefix": {
                    "type": "string"
                }
            },
            "required": [
                "InputSchema",
                "NamePrefix"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.InputParallelism": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "InputLambdaProcessor": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.InputSchema": {
            "additionalProperties": false,
            "properties": {
                "RecordColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn"
                    },
                    "type": "array"
                },
                "RecordEncoding": {
                    "type": "string"
                },
                "RecordFormat": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat"
                }
            },
            "required": [
                "RecordColumns",
                "RecordFormat"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordRowPath": {
                    "type": "string"
                }
            },
            "required": [
                "RecordRowPath"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.MappingParameters": {
            "additionalProperties": false,
            "properties": {
                "CSVMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters"
                },
                "JSONMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.MavenReference": {
            "additionalProperties": false,
            "properties": {
                "ArtifactId": {
                    "type": "string"
                },
                "GroupId": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "ArtifactId",
                "GroupId",
                "Version"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ConfigurationType": {
                    "type": "string"
                },
                "LogLevel": {
                    "type": "string"
                },
                "MetricsLevel": {
                    "type": "string"
                }
            },
            "required": [
                "ConfigurationType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AutoScalingEnabled": {
                    "type": "boolean"
                },
                "ConfigurationType": {
                    "type": "string"
                },
                "Parallelism": {
                    "type": "number"
                },
                "ParallelismPerKPU": {
                    "type": "number"
                }
            },
            "required": [
                "ConfigurationType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.PropertyGroup": {
            "additionalProperties": false,
            "properties": {
                "PropertyGroupId": {
                    "type": "string"
                },
                "PropertyMap": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.RecordColumn": {
            "additionalProperties": false,
            "properties": {
                "Mapping": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "SqlType": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "SqlType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.RecordFormat": {
            "additionalProperties": false,
            "properties": {
                "MappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters"
                },
                "RecordFormatType": {
                    "type": "string"
                }
            },
            "required": [
                "RecordFormatType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": {
            "additionalProperties": false,
            "properties": {
                "BasePath": {
                    "type": "string"
                },
                "BucketARN": {
                    "type": "string"
                }
            },
            "required": [
                "BasePath",
                "BucketARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": {
            "additionalProperties": false,
            "properties": {
                "BucketARN": {
                    "type": "string"
                },
                "FileKey": {
                    "type": "string"
                },
                "ObjectVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Inputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CatalogConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration"
                },
                "CustomArtifactsConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration"
                },
                "DeployAsApplicationConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration"
                },
                "MonitoringConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LogLevel": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "CloudWatchLoggingOption": {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "CloudWatchLoggingOption"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": {
            "additionalProperties": false,
            "properties": {
                "LogStreamARN": {
                    "type": "string"
                }
            },
            "required": [
                "LogStreamARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationOutput": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "Output": {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "Output"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisAnalyticsV2::ApplicationOutput"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": {
            "additionalProperties": false,
            "properties": {
                "RecordFormatType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": {
            "additionalProperties": false,
            "properties": {
                "ResourceARN": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceARN"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": {
            "additionalProperties": false,
            "properties": {
                "DestinationSchema": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema"
                },
                "KinesisFirehoseOutput": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput"
                },
                "KinesisStreamsOutput": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput"
                },
                "LambdaOutput": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "DestinationSchema"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationName": {
                            "type": "string"
                        },
                        "ReferenceDataSource": {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource"
                        }
                    },
                    "required": [
                        "ApplicationName",
                        "ReferenceDataSource"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordColumnDelimiter": {
                    "type": "string"
                },
                "RecordRowDelimiter": {
                    "type": "string"
                }
            },
            "required": [
                "RecordColumnDelimiter",
                "RecordRowDelimiter"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": {
            "additionalProperties": false,
            "properties": {
                "RecordRowPath": {
                    "type": "string"
                }
            },
            "required": [
                "RecordRowPath"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": {
            "additionalProperties": false,
            "properties": {
                "CSVMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters"
                },
                "JSONMappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters"
                }
            },
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": {
            "additionalProperties": false,
            "properties": {
                "Mapping": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "SqlType": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "SqlType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": {
            "additionalProperties": false,
            "properties": {
                "MappingParameters": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters"
                },
                "RecordFormatType": {
                    "type": "string"
                }
            },
            "required": [
                "RecordFormatType"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": {
            "additionalProperties": false,
            "properties": {
                "ReferenceSchema": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema"
                },
                "S3ReferenceDataSource": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "ReferenceSchema"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": {
            "additionalProperties": false,
            "properties": {
                "RecordColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn"
                    },
                    "type": "array"
                },
                "RecordEncoding": {
                    "type": "string"
                },
                "RecordFormat": {
                    "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat"
                }
            },
            "required": [
                "RecordColumns",
                "RecordFormat"
            ],
            "type": "object"
        },
        "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": {
            "additionalProperties": false,
            "properties": {
                "BucketARN": {
                    "type": "string"
                },
                "FileKey": {
                    "type": "string"
                }
            },
            "required": [
                "BucketARN",
                "FileKey"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeliveryStreamEncryptionConfigurationInput": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput"
                        },
                        "DeliveryStreamName": {
                            "type": "string"
                        },
                        "DeliveryStreamType": {
                            "type": "string"
                        },
                        "ElasticsearchDestinationConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration"
                        },
                        "ExtendedS3DestinationConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration"
                        },
                        "HttpEndpointDestinationConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration"
                        },
                        "KinesisStreamSourceConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration"
                        },
                        "RedshiftDestinationConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration"
                        },
                        "S3DestinationConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration"
                        },
                        "SplunkDestinationConfiguration": {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::KinesisFirehose::DeliveryStream"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.BufferingHints": {
            "additionalProperties": false,
            "properties": {
                "IntervalInSeconds": {
                    "type": "number"
                },
                "SizeInMBs": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "LogGroupName": {
                    "type": "string"
                },
                "LogStreamName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.CopyCommand": {
            "additionalProperties": false,
            "properties": {
                "CopyOptions": {
                    "type": "string"
                },
                "DataTableColumns": {
                    "type": "string"
                },
                "DataTableName": {
                    "type": "string"
                }
            },
            "required": [
                "DataTableName"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "InputFormatConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration"
                },
                "OutputFormatConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration"
                },
                "SchemaConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": {
            "additionalProperties": false,
            "properties": {
                "KeyARN": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                }
            },
            "required": [
                "KeyType"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.Deserializer": {
            "additionalProperties": false,
            "properties": {
                "HiveJsonSerDe": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe"
                },
                "OpenXJsonSerDe": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": {
            "additionalProperties": false,
            "properties": {
                "IntervalInSeconds": {
                    "type": "number"
                },
                "SizeInMBs": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BufferingHints": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints"
                },
                "CloudWatchLoggingOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions"
                },
                "ClusterEndpoint": {
                    "type": "string"
                },
                "DomainARN": {
                    "type": "string"
                },
                "IndexName": {
                    "type": "string"
                },
                "IndexRotationPeriod": {
                    "type": "string"
                },
                "ProcessingConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration"
                },
                "RetryOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions"
                },
                "RoleARN": {
                    "type": "string"
                },
                "S3BackupMode": {
                    "type": "string"
                },
                "S3Configuration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration"
                },
                "TypeName": {
                    "type": "string"
                },
                "VpcConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration"
                }
            },
            "required": [
                "IndexName",
                "RoleARN",
                "S3Configuration"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": {
            "additionalProperties": false,
            "properties": {
                "DurationInSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KMSEncryptionConfig": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig"
                },
                "NoEncryptionConfig": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BucketARN": {
                    "type": "string"
                },
                "BufferingHints": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints"
                },
                "CloudWatchLoggingOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions"
                },
                "CompressionFormat": {
                    "type": "string"
                },
                "DataFormatConversionConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration"
                },
                "EncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration"
                },
                "ErrorOutputPrefix": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "ProcessingConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration"
                },
                "RoleARN": {
                    "type": "string"
                },
                "S3BackupConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration"
                },
                "S3BackupMode": {
                    "type": "string"
                }
            },
            "required": [
                "BucketARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": {
            "additionalProperties": false,
            "properties": {
                "TimestampFormats": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": {
            "additionalProperties": false,
            "properties": {
                "AttributeName": {
                    "type": "string"
                },
                "AttributeValue": {
                    "type": "string"
                }
            },
            "required": [
                "AttributeName",
                "AttributeValue"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AccessKey": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "Url"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BufferingHints": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints"
                },
                "CloudWatchLoggingOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions"
                },
                "EndpointConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration"
                },
                "ProcessingConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration"
                },
                "RequestConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration"
                },
                "RetryOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions"
                },
                "RoleARN": {
                    "type": "string"
                },
                "S3BackupMode": {
                    "type": "string"
                },
                "S3Configuration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration"
                }
            },
            "required": [
                "EndpointConfiguration",
                "S3Configuration"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CommonAttributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute"
                    },
                    "type": "array"
                },
                "ContentEncoding": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Deserializer": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": {
            "additionalProperties": false,
            "properties": {
                "AWSKMSKeyARN": {
                    "type": "string"
                }
            },
            "required": [
                "AWSKMSKeyARN"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KinesisStreamARN": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "KinesisStreamARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": {
            "additionalProperties": false,
            "properties": {
                "CaseInsensitive": {
                    "type": "boolean"
                },
                "ColumnToJsonKeyMappings": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "ConvertDotsInJsonKeysToUnderscores": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": {
            "additionalProperties": false,
            "properties": {
                "BlockSizeBytes": {
                    "type": "number"
                },
                "BloomFilterColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "BloomFilterFalsePositiveProbability": {
                    "type": "number"
                },
                "Compression": {
                    "type": "string"
                },
                "DictionaryKeyThreshold": {
                    "type": "number"
                },
                "EnablePadding": {
                    "type": "boolean"
                },
                "FormatVersion": {
                    "type": "string"
                },
                "PaddingTolerance": {
                    "type": "number"
                },
                "RowIndexStride": {
                    "type": "number"
                },
                "StripeSizeBytes": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Serializer": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": {
            "additionalProperties": false,
            "properties": {
                "BlockSizeBytes": {
                    "type": "number"
                },
                "Compression": {
                    "type": "string"
                },
                "EnableDictionaryCompression": {
                    "type": "boolean"
                },
                "MaxPaddingBytes": {
                    "type": "number"
                },
                "PageSizeBytes": {
                    "type": "number"
                },
                "WriterVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "Processors": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.Processor": {
            "additionalProperties": false,
            "properties": {
                "Parameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter"
                    },
                    "type": "array"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": {
            "additionalProperties": false,
            "properties": {
                "ParameterName": {
                    "type": "string"
                },
                "ParameterValue": {
                    "type": "string"
                }
            },
            "required": [
                "ParameterName",
                "ParameterValue"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLoggingOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions"
                },
                "ClusterJDBCURL": {
                    "type": "string"
                },
                "CopyCommand": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand"
                },
                "Password": {
                    "type": "string"
                },
                "ProcessingConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration"
                },
                "RetryOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions"
                },
                "RoleARN": {
                    "type": "string"
                },
                "S3BackupConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration"
                },
                "S3BackupMode": {
                    "type": "string"
                },
                "S3Configuration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "ClusterJDBCURL",
                "CopyCommand",
                "Password",
                "RoleARN",
                "S3Configuration",
                "Username"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": {
            "additionalProperties": false,
            "properties": {
                "DurationInSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.RetryOptions": {
            "additionalProperties": false,
            "properties": {
                "DurationInSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BucketARN": {
                    "type": "string"
                },
                "BufferingHints": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints"
                },
                "CloudWatchLoggingOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions"
                },
                "CompressionFormat": {
                    "type": "string"
                },
                "EncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration"
                },
                "ErrorOutputPrefix": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "BucketARN",
                "RoleARN"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "Region": {
                    "type": "string"
                },
                "RoleARN": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                },
                "VersionId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.Serializer": {
            "additionalProperties": false,
            "properties": {
                "OrcSerDe": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe"
                },
                "ParquetSerDe": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLoggingOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions"
                },
                "HECAcknowledgmentTimeoutInSeconds": {
                    "type": "number"
                },
                "HECEndpoint": {
                    "type": "string"
                },
                "HECEndpointType": {
                    "type": "string"
                },
                "HECToken": {
                    "type": "string"
                },
                "ProcessingConfiguration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration"
                },
                "RetryOptions": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions"
                },
                "S3BackupMode": {
                    "type": "string"
                },
                "S3Configuration": {
                    "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration"
                }
            },
            "required": [
                "HECEndpoint",
                "HECEndpointType",
                "HECToken",
                "S3Configuration"
            ],
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": {
            "additionalProperties": false,
            "properties": {
                "DurationInSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "RoleARN": {
                    "type": "string"
                },
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "RoleARN",
                "SecurityGroupIds",
                "SubnetIds"
            ],
            "type": "object"
        },
        "AWS::LakeFormation::DataLakeSettings": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Admins": {
                            "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins"
                        },
                        "TrustedResourceOwners": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LakeFormation::DataLakeSettings"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::LakeFormation::DataLakeSettings.Admins": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": {
            "additionalProperties": false,
            "properties": {
                "DataLakePrincipalIdentifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Permissions": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataLakePrincipal": {
                            "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal"
                        },
                        "Permissions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PermissionsWithGrantOption": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Resource": {
                            "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource"
                        }
                    },
                    "required": [
                        "DataLakePrincipal",
                        "Resource"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LakeFormation::Permissions"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.ColumnWildcard": {
            "additionalProperties": false,
            "properties": {
                "ExcludedColumnNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.DataLakePrincipal": {
            "additionalProperties": false,
            "properties": {
                "DataLakePrincipalIdentifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.DataLocationResource": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "S3Resource": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.DatabaseResource": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.Resource": {
            "additionalProperties": false,
            "properties": {
                "DataLocationResource": {
                    "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource"
                },
                "DatabaseResource": {
                    "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource"
                },
                "TableResource": {
                    "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource"
                },
                "TableWithColumnsResource": {
                    "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.TableResource": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "TableWildcard": {
                    "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.TableWildcard": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::LakeFormation::Permissions.TableWithColumnsResource": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "ColumnNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ColumnWildcard": {
                    "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LakeFormation::Resource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceArn": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "UseServiceLinkedRole": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "ResourceArn",
                        "UseServiceLinkedRole"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LakeFormation::Resource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::Alias": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "FunctionVersion": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ProvisionedConcurrencyConfig": {
                            "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration"
                        },
                        "RoutingConfig": {
                            "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration"
                        }
                    },
                    "required": [
                        "FunctionName",
                        "FunctionVersion",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::Alias"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::Alias.AliasRoutingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AdditionalVersionWeights": {
                    "items": {
                        "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight"
                    },
                    "type": "array"
                }
            },
            "required": [
                "AdditionalVersionWeights"
            ],
            "type": "object"
        },
        "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ProvisionedConcurrentExecutions": {
                    "type": "number"
                }
            },
            "required": [
                "ProvisionedConcurrentExecutions"
            ],
            "type": "object"
        },
        "AWS::Lambda::Alias.VersionWeight": {
            "additionalProperties": false,
            "properties": {
                "FunctionVersion": {
                    "type": "string"
                },
                "FunctionWeight": {
                    "type": "number"
                }
            },
            "required": [
                "FunctionVersion",
                "FunctionWeight"
            ],
            "type": "object"
        },
        "AWS::Lambda::CodeSigningConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowedPublishers": {
                            "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers"
                        },
                        "CodeSigningPolicies": {
                            "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AllowedPublishers"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::CodeSigningConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::CodeSigningConfig.AllowedPublishers": {
            "additionalProperties": false,
            "properties": {
                "SigningProfileVersionArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SigningProfileVersionArns"
            ],
            "type": "object"
        },
        "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": {
            "additionalProperties": false,
            "properties": {
                "UntrustedArtifactOnDeployment": {
                    "type": "string"
                }
            },
            "required": [
                "UntrustedArtifactOnDeployment"
            ],
            "type": "object"
        },
        "AWS::Lambda::EventInvokeConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DestinationConfig": {
                            "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "MaximumEventAgeInSeconds": {
                            "type": "number"
                        },
                        "MaximumRetryAttempts": {
                            "type": "number"
                        },
                        "Qualifier": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FunctionName",
                        "Qualifier"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::EventInvokeConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::EventInvokeConfig.DestinationConfig": {
            "additionalProperties": false,
            "properties": {
                "OnFailure": {
                    "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure"
                },
                "OnSuccess": {
                    "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::EventInvokeConfig.OnFailure": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                }
            },
            "required": [
                "Destination"
            ],
            "type": "object"
        },
        "AWS::Lambda::EventInvokeConfig.OnSuccess": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                }
            },
            "required": [
                "Destination"
            ],
            "type": "object"
        },
        "AWS::Lambda::EventSourceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BatchSize": {
                            "type": "number"
                        },
                        "BisectBatchOnFunctionError": {
                            "type": "boolean"
                        },
                        "DestinationConfig": {
                            "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "EventSourceArn": {
                            "type": "string"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "FunctionResponseTypes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MaximumBatchingWindowInSeconds": {
                            "type": "number"
                        },
                        "MaximumRecordAgeInSeconds": {
                            "type": "number"
                        },
                        "MaximumRetryAttempts": {
                            "type": "number"
                        },
                        "ParallelizationFactor": {
                            "type": "number"
                        },
                        "Queues": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SelfManagedEventSource": {
                            "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource"
                        },
                        "SourceAccessConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration"
                            },
                            "type": "array"
                        },
                        "StartingPosition": {
                            "type": "string"
                        },
                        "Topics": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "TumblingWindowInSeconds": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "FunctionName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::EventSourceMapping"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::EventSourceMapping.DestinationConfig": {
            "additionalProperties": false,
            "properties": {
                "OnFailure": {
                    "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::EventSourceMapping.Endpoints": {
            "additionalProperties": false,
            "properties": {
                "KafkaBootstrapServers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::EventSourceMapping.OnFailure": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": {
            "additionalProperties": false,
            "properties": {
                "Endpoints": {
                    "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "URI": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::Function": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Code": {
                            "$ref": "#/definitions/AWS::Lambda::Function.Code"
                        },
                        "CodeSigningConfigArn": {
                            "type": "string"
                        },
                        "DeadLetterConfig": {
                            "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Environment": {
                            "$ref": "#/definitions/AWS::Lambda::Function.Environment"
                        },
                        "FileSystemConfigs": {
                            "items": {
                                "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig"
                            },
                            "type": "array"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "Handler": {
                            "type": "string"
                        },
                        "Id": {
                            "type": "string"
                        },
                        "ImageConfig": {
                            "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig"
                        },
                        "KmsKeyArn": {
                            "type": "string"
                        },
                        "Layers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MemorySize": {
                            "type": "number"
                        },
                        "PackageType": {
                            "type": "string"
                        },
                        "ReservedConcurrentExecutions": {
                            "type": "number"
                        },
                        "Role": {
                            "type": "string"
                        },
                        "Runtime": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Timeout": {
                            "type": "number"
                        },
                        "TracingConfig": {
                            "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig"
                        }
                    },
                    "required": [
                        "Code",
                        "Role"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::Function"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::Function.Code": {
            "additionalProperties": false,
            "properties": {
                "ImageUri": {
                    "type": "string"
                },
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                },
                "S3ObjectVersion": {
                    "type": "string"
                },
                "ZipFile": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::Function.DeadLetterConfig": {
            "additionalProperties": false,
            "properties": {
                "TargetArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::Function.Environment": {
            "additionalProperties": false,
            "properties": {
                "Variables": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::Function.FileSystemConfig": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "LocalMountPath": {
                    "type": "string"
                }
            },
            "required": [
                "Arn",
                "LocalMountPath"
            ],
            "type": "object"
        },
        "AWS::Lambda::Function.ImageConfig": {
            "additionalProperties": false,
            "properties": {
                "Command": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "EntryPoint": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "WorkingDirectory": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::Function.TracingConfig": {
            "additionalProperties": false,
            "properties": {
                "Mode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::Function.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Lambda::LayerVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CompatibleArchitectures": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "CompatibleRuntimes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Content": {
                            "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "LayerName": {
                            "type": "string"
                        },
                        "LicenseInfo": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Content"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::LayerVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::LayerVersion.Content": {
            "additionalProperties": false,
            "properties": {
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                },
                "S3ObjectVersion": {
                    "type": "string"
                }
            },
            "required": [
                "S3Bucket",
                "S3Key"
            ],
            "type": "object"
        },
        "AWS::Lambda::LayerVersionPermission": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Action": {
                            "type": "string"
                        },
                        "LayerVersionArn": {
                            "type": "string"
                        },
                        "OrganizationId": {
                            "type": "string"
                        },
                        "Principal": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Action",
                        "LayerVersionArn",
                        "Principal"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::LayerVersionPermission"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::Permission": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Action": {
                            "type": "string"
                        },
                        "EventSourceToken": {
                            "type": "string"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "Principal": {
                            "type": "string"
                        },
                        "SourceAccount": {
                            "type": "string"
                        },
                        "SourceArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Action",
                        "FunctionName",
                        "Principal"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::Permission"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::Version": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CodeSha256": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "ProvisionedConcurrencyConfig": {
                            "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration"
                        }
                    },
                    "required": [
                        "FunctionName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Lambda::Version"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ProvisionedConcurrentExecutions": {
                    "type": "number"
                }
            },
            "required": [
                "ProvisionedConcurrentExecutions"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::Grant": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowedOperations": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "GrantName": {
                            "type": "string"
                        },
                        "HomeRegion": {
                            "type": "string"
                        },
                        "LicenseArn": {
                            "type": "string"
                        },
                        "Principals": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Status": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LicenseManager::Grant"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::License": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Beneficiary": {
                            "type": "string"
                        },
                        "ConsumptionConfiguration": {
                            "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration"
                        },
                        "Entitlements": {
                            "items": {
                                "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement"
                            },
                            "type": "array"
                        },
                        "HomeRegion": {
                            "type": "string"
                        },
                        "Issuer": {
                            "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData"
                        },
                        "LicenseMetadata": {
                            "items": {
                                "$ref": "#/definitions/AWS::LicenseManager::License.Metadata"
                            },
                            "type": "array"
                        },
                        "LicenseName": {
                            "type": "string"
                        },
                        "ProductName": {
                            "type": "string"
                        },
                        "ProductSKU": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Validity": {
                            "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat"
                        }
                    },
                    "required": [
                        "ConsumptionConfiguration",
                        "Entitlements",
                        "HomeRegion",
                        "Issuer",
                        "LicenseName",
                        "ProductName",
                        "Validity"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LicenseManager::License"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::License.BorrowConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AllowEarlyCheckIn": {
                    "type": "boolean"
                },
                "MaxTimeToLiveInMinutes": {
                    "type": "number"
                }
            },
            "required": [
                "AllowEarlyCheckIn",
                "MaxTimeToLiveInMinutes"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::License.ConsumptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BorrowConfiguration": {
                    "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration"
                },
                "ProvisionalConfiguration": {
                    "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration"
                },
                "RenewType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LicenseManager::License.Entitlement": {
            "additionalProperties": false,
            "properties": {
                "AllowCheckIn": {
                    "type": "boolean"
                },
                "MaxCount": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "Overage": {
                    "type": "boolean"
                },
                "Unit": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Unit"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::License.IssuerData": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "SignKey": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::License.Metadata": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::License.ProvisionalConfiguration": {
            "additionalProperties": false,
            "properties": {
                "MaxTimeToLiveInMinutes": {
                    "type": "number"
                }
            },
            "required": [
                "MaxTimeToLiveInMinutes"
            ],
            "type": "object"
        },
        "AWS::LicenseManager::License.ValidityDateFormat": {
            "additionalProperties": false,
            "properties": {
                "Begin": {
                    "type": "string"
                },
                "End": {
                    "type": "string"
                }
            },
            "required": [
                "Begin",
                "End"
            ],
            "type": "object"
        },
        "AWS::Location::GeofenceCollection": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CollectionName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "PricingPlan": {
                            "type": "string"
                        },
                        "PricingPlanDataSource": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CollectionName",
                        "PricingPlan"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Location::GeofenceCollection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Location::Map": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Configuration": {
                            "$ref": "#/definitions/AWS::Location::Map.MapConfiguration"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "MapName": {
                            "type": "string"
                        },
                        "PricingPlan": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Configuration",
                        "MapName",
                        "PricingPlan"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Location::Map"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Location::Map.MapConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Style": {
                    "type": "string"
                }
            },
            "required": [
                "Style"
            ],
            "type": "object"
        },
        "AWS::Location::PlaceIndex": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataSource": {
                            "type": "string"
                        },
                        "DataSourceConfiguration": {
                            "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "IndexName": {
                            "type": "string"
                        },
                        "PricingPlan": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DataSource",
                        "IndexName",
                        "PricingPlan"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Location::PlaceIndex"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Location::PlaceIndex.DataSourceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "IntendedUse": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Location::RouteCalculator": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CalculatorName": {
                            "type": "string"
                        },
                        "DataSource": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "PricingPlan": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CalculatorName",
                        "DataSource",
                        "PricingPlan"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Location::RouteCalculator"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Location::Tracker": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "PricingPlan": {
                            "type": "string"
                        },
                        "PricingPlanDataSource": {
                            "type": "string"
                        },
                        "TrackerName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PricingPlan",
                        "TrackerName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Location::Tracker"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Location::TrackerConsumer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConsumerArn": {
                            "type": "string"
                        },
                        "TrackerName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConsumerArn",
                        "TrackerName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Location::TrackerConsumer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Logs::Destination": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DestinationName": {
                            "type": "string"
                        },
                        "DestinationPolicy": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "TargetArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DestinationName",
                        "DestinationPolicy",
                        "RoleArn",
                        "TargetArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Logs::Destination"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Logs::LogGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "LogGroupName": {
                            "type": "string"
                        },
                        "RetentionInDays": {
                            "type": "number"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Logs::LogGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Logs::LogStream": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LogGroupName": {
                            "type": "string"
                        },
                        "LogStreamName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "LogGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Logs::LogStream"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Logs::MetricFilter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FilterPattern": {
                            "type": "string"
                        },
                        "LogGroupName": {
                            "type": "string"
                        },
                        "MetricTransformations": {
                            "items": {
                                "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "FilterPattern",
                        "LogGroupName",
                        "MetricTransformations"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Logs::MetricFilter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Logs::MetricFilter.MetricTransformation": {
            "additionalProperties": false,
            "properties": {
                "DefaultValue": {
                    "type": "number"
                },
                "MetricName": {
                    "type": "string"
                },
                "MetricNamespace": {
                    "type": "string"
                },
                "MetricValue": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "MetricNamespace",
                "MetricValue"
            ],
            "type": "object"
        },
        "AWS::Logs::QueryDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LogGroupNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "QueryString": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "QueryString"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Logs::QueryDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Logs::SubscriptionFilter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DestinationArn": {
                            "type": "string"
                        },
                        "FilterPattern": {
                            "type": "string"
                        },
                        "LogGroupName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DestinationArn",
                        "FilterPattern",
                        "LogGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Logs::SubscriptionFilter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::Alert": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Action": {
                            "type": "object"
                        },
                        "AlertDescription": {
                            "type": "string"
                        },
                        "AlertName": {
                            "type": "string"
                        },
                        "AlertSensitivityThreshold": {
                            "type": "number"
                        },
                        "AnomalyDetectorArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Action",
                        "AlertSensitivityThreshold",
                        "AnomalyDetectorArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LookoutMetrics::Alert"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AnomalyDetectorConfig": {
                            "type": "object"
                        },
                        "AnomalyDetectorDescription": {
                            "type": "string"
                        },
                        "AnomalyDetectorName": {
                            "type": "string"
                        },
                        "KmsKeyArn": {
                            "type": "string"
                        },
                        "MetricSetList": {
                            "items": {
                                "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AnomalyDetectorConfig",
                        "MetricSetList"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LookoutMetrics::AnomalyDetector"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": {
            "additionalProperties": false,
            "properties": {
                "FlowName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "FlowName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": {
            "additionalProperties": false,
            "properties": {
                "Charset": {
                    "type": "string"
                },
                "ContainsHeader": {
                    "type": "boolean"
                },
                "Delimiter": {
                    "type": "string"
                },
                "FileCompression": {
                    "type": "string"
                },
                "HeaderList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "QuoteSymbol": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": {
            "additionalProperties": false,
            "properties": {
                "CsvFormatDescriptor": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor"
                },
                "JsonFormatDescriptor": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor"
                }
            },
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": {
            "additionalProperties": false,
            "properties": {
                "Charset": {
                    "type": "string"
                },
                "FileCompression": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.Metric": {
            "additionalProperties": false,
            "properties": {
                "AggregationFunction": {
                    "type": "string"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "AggregationFunction",
                "MetricName"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.MetricSet": {
            "additionalProperties": false,
            "properties": {
                "DimensionList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MetricList": {
                    "items": {
                        "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric"
                    },
                    "type": "array"
                },
                "MetricSetDescription": {
                    "type": "string"
                },
                "MetricSetFrequency": {
                    "type": "string"
                },
                "MetricSetName": {
                    "type": "string"
                },
                "MetricSource": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource"
                },
                "Offset": {
                    "type": "number"
                },
                "TimestampColumn": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn"
                },
                "Timezone": {
                    "type": "string"
                }
            },
            "required": [
                "MetricList",
                "MetricSetName",
                "MetricSource"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.MetricSource": {
            "additionalProperties": false,
            "properties": {
                "AppFlowConfig": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig"
                },
                "CloudwatchConfig": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig"
                },
                "RDSSourceConfig": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig"
                },
                "RedshiftSourceConfig": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig"
                },
                "S3SourceConfig": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig"
                }
            },
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": {
            "additionalProperties": false,
            "properties": {
                "DBInstanceIdentifier": {
                    "type": "string"
                },
                "DatabaseHost": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "DatabasePort": {
                    "type": "number"
                },
                "RoleArn": {
                    "type": "string"
                },
                "SecretManagerArn": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                },
                "VpcConfiguration": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration"
                }
            },
            "required": [
                "DBInstanceIdentifier",
                "DatabaseHost",
                "DatabaseName",
                "DatabasePort",
                "RoleArn",
                "SecretManagerArn",
                "TableName",
                "VpcConfiguration"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": {
            "additionalProperties": false,
            "properties": {
                "ClusterIdentifier": {
                    "type": "string"
                },
                "DatabaseHost": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "DatabasePort": {
                    "type": "number"
                },
                "RoleArn": {
                    "type": "string"
                },
                "SecretManagerArn": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                },
                "VpcConfiguration": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration"
                }
            },
            "required": [
                "ClusterIdentifier",
                "DatabaseHost",
                "DatabaseName",
                "DatabasePort",
                "RoleArn",
                "SecretManagerArn",
                "TableName",
                "VpcConfiguration"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": {
            "additionalProperties": false,
            "properties": {
                "FileFormatDescriptor": {
                    "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor"
                },
                "HistoricalDataPathList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RoleArn": {
                    "type": "string"
                },
                "TemplatedPathList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "FileFormatDescriptor",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": {
            "additionalProperties": false,
            "properties": {
                "ColumnFormat": {
                    "type": "string"
                },
                "ColumnName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIdList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIdList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIdList",
                "SubnetIdList"
            ],
            "type": "object"
        },
        "AWS::LookoutVision::Project": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ProjectName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ProjectName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::LookoutVision::Project"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BrokerNodeGroupInfo": {
                            "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo"
                        },
                        "ClientAuthentication": {
                            "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication"
                        },
                        "ClusterName": {
                            "type": "string"
                        },
                        "ConfigurationInfo": {
                            "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo"
                        },
                        "EncryptionInfo": {
                            "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo"
                        },
                        "EnhancedMonitoring": {
                            "type": "string"
                        },
                        "KafkaVersion": {
                            "type": "string"
                        },
                        "LoggingInfo": {
                            "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo"
                        },
                        "NumberOfBrokerNodes": {
                            "type": "number"
                        },
                        "OpenMonitoring": {
                            "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "BrokerNodeGroupInfo",
                        "ClusterName",
                        "KafkaVersion",
                        "NumberOfBrokerNodes"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MSK::Cluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.BrokerLogs": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogs": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs"
                },
                "Firehose": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.Firehose"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.S3"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.BrokerNodeGroupInfo": {
            "additionalProperties": false,
            "properties": {
                "BrokerAZDistribution": {
                    "type": "string"
                },
                "ClientSubnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InstanceType": {
                    "type": "string"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StorageInfo": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo"
                }
            },
            "required": [
                "ClientSubnets",
                "InstanceType"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.ClientAuthentication": {
            "additionalProperties": false,
            "properties": {
                "Sasl": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.Sasl"
                },
                "Tls": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.Tls"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.CloudWatchLogs": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "LogGroup": {
                    "type": "string"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.ConfigurationInfo": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "Revision": {
                    "type": "number"
                }
            },
            "required": [
                "Arn",
                "Revision"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.EBSStorageInfo": {
            "additionalProperties": false,
            "properties": {
                "VolumeSize": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.EncryptionAtRest": {
            "additionalProperties": false,
            "properties": {
                "DataVolumeKMSKeyId": {
                    "type": "string"
                }
            },
            "required": [
                "DataVolumeKMSKeyId"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.EncryptionInTransit": {
            "additionalProperties": false,
            "properties": {
                "ClientBroker": {
                    "type": "string"
                },
                "InCluster": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.EncryptionInfo": {
            "additionalProperties": false,
            "properties": {
                "EncryptionAtRest": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest"
                },
                "EncryptionInTransit": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.Firehose": {
            "additionalProperties": false,
            "properties": {
                "DeliveryStream": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.Iam": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.JmxExporter": {
            "additionalProperties": false,
            "properties": {
                "EnabledInBroker": {
                    "type": "boolean"
                }
            },
            "required": [
                "EnabledInBroker"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.LoggingInfo": {
            "additionalProperties": false,
            "properties": {
                "BrokerLogs": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs"
                }
            },
            "required": [
                "BrokerLogs"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.NodeExporter": {
            "additionalProperties": false,
            "properties": {
                "EnabledInBroker": {
                    "type": "boolean"
                }
            },
            "required": [
                "EnabledInBroker"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.OpenMonitoring": {
            "additionalProperties": false,
            "properties": {
                "Prometheus": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus"
                }
            },
            "required": [
                "Prometheus"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.Prometheus": {
            "additionalProperties": false,
            "properties": {
                "JmxExporter": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter"
                },
                "NodeExporter": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.S3": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.Sasl": {
            "additionalProperties": false,
            "properties": {
                "Iam": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.Iam"
                },
                "Scram": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.Scram"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.Scram": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::MSK::Cluster.StorageInfo": {
            "additionalProperties": false,
            "properties": {
                "EBSStorageInfo": {
                    "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo"
                }
            },
            "type": "object"
        },
        "AWS::MSK::Cluster.Tls": {
            "additionalProperties": false,
            "properties": {
                "CertificateAuthorityArnList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MWAA::Environment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AirflowConfigurationOptions": {
                            "type": "object"
                        },
                        "AirflowVersion": {
                            "type": "string"
                        },
                        "DagS3Path": {
                            "type": "string"
                        },
                        "EnvironmentClass": {
                            "type": "string"
                        },
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "KmsKey": {
                            "type": "string"
                        },
                        "LoggingConfiguration": {
                            "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration"
                        },
                        "MaxWorkers": {
                            "type": "number"
                        },
                        "MinWorkers": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "NetworkConfiguration": {
                            "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration"
                        },
                        "PluginsS3ObjectVersion": {
                            "type": "string"
                        },
                        "PluginsS3Path": {
                            "type": "string"
                        },
                        "RequirementsS3ObjectVersion": {
                            "type": "string"
                        },
                        "RequirementsS3Path": {
                            "type": "string"
                        },
                        "SourceBucketArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "$ref": "#/definitions/AWS::MWAA::Environment.TagMap"
                        },
                        "WebserverAccessMode": {
                            "type": "string"
                        },
                        "WeeklyMaintenanceWindowStart": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MWAA::Environment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MWAA::Environment.LoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DagProcessingLogs": {
                    "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration"
                },
                "SchedulerLogs": {
                    "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration"
                },
                "TaskLogs": {
                    "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration"
                },
                "WebserverLogs": {
                    "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration"
                },
                "WorkerLogs": {
                    "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::MWAA::Environment.ModuleLoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogGroupArn": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "LogLevel": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MWAA::Environment.NetworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MWAA::Environment.TagMap": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::Macie::CustomDataIdentifier": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "IgnoreWords": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Keywords": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MaximumMatchDistance": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Regex": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "Regex"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Macie::CustomDataIdentifier"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Macie::FindingsFilter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Action": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FindingCriteria": {
                            "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Position": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "FindingCriteria",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Macie::FindingsFilter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Macie::FindingsFilter.Criterion": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::Macie::FindingsFilter.FindingCriteria": {
            "additionalProperties": false,
            "properties": {
                "Criterion": {
                    "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion"
                }
            },
            "type": "object"
        },
        "AWS::Macie::FindingsFilter.FindingsFilterListItem": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Macie::Session": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FindingPublishingFrequency": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Macie::Session"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InvitationId": {
                            "type": "string"
                        },
                        "MemberConfiguration": {
                            "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration"
                        },
                        "NetworkConfiguration": {
                            "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration"
                        },
                        "NetworkId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "MemberConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ManagedBlockchain::Member"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": {
            "additionalProperties": false,
            "properties": {
                "ProposalDurationInHours": {
                    "type": "number"
                },
                "ThresholdComparator": {
                    "type": "string"
                },
                "ThresholdPercentage": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.MemberConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "MemberFrameworkConfiguration": {
                    "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AdminPassword": {
                    "type": "string"
                },
                "AdminUsername": {
                    "type": "string"
                }
            },
            "required": [
                "AdminPassword",
                "AdminUsername"
            ],
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "MemberFabricConfiguration": {
                    "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.NetworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "Framework": {
                    "type": "string"
                },
                "FrameworkVersion": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "NetworkFrameworkConfiguration": {
                    "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration"
                },
                "VotingPolicy": {
                    "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy"
                }
            },
            "required": [
                "Framework",
                "FrameworkVersion",
                "Name",
                "VotingPolicy"
            ],
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Edition": {
                    "type": "string"
                }
            },
            "required": [
                "Edition"
            ],
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "NetworkFabricConfiguration": {
                    "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::ManagedBlockchain::Member.VotingPolicy": {
            "additionalProperties": false,
            "properties": {
                "ApprovalThresholdPolicy": {
                    "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy"
                }
            },
            "type": "object"
        },
        "AWS::ManagedBlockchain::Node": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MemberId": {
                            "type": "string"
                        },
                        "NetworkId": {
                            "type": "string"
                        },
                        "NodeConfiguration": {
                            "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration"
                        }
                    },
                    "required": [
                        "NetworkId",
                        "NodeConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ManagedBlockchain::Node"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ManagedBlockchain::Node.NodeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "InstanceType": {
                    "type": "string"
                }
            },
            "required": [
                "AvailabilityZone",
                "InstanceType"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::Flow": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Source": {
                            "$ref": "#/definitions/AWS::MediaConnect::Flow.Source"
                        },
                        "SourceFailoverConfig": {
                            "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig"
                        }
                    },
                    "required": [
                        "Name",
                        "Source"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConnect::Flow"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::Flow.Encryption": {
            "additionalProperties": false,
            "properties": {
                "Algorithm": {
                    "type": "string"
                },
                "ConstantInitializationVector": {
                    "type": "string"
                },
                "DeviceId": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                },
                "Region": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "SecretArn": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "Algorithm",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::Flow.FailoverConfig": {
            "additionalProperties": false,
            "properties": {
                "RecoveryWindow": {
                    "type": "number"
                },
                "State": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaConnect::Flow.Source": {
            "additionalProperties": false,
            "properties": {
                "Decryption": {
                    "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption"
                },
                "Description": {
                    "type": "string"
                },
                "EntitlementArn": {
                    "type": "string"
                },
                "IngestIp": {
                    "type": "string"
                },
                "IngestPort": {
                    "type": "number"
                },
                "MaxBitrate": {
                    "type": "number"
                },
                "MaxLatency": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "SourceArn": {
                    "type": "string"
                },
                "StreamId": {
                    "type": "string"
                },
                "VpcInterfaceName": {
                    "type": "string"
                },
                "WhitelistCidr": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaConnect::FlowEntitlement": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataTransferSubscriberFeePercent": {
                            "type": "number"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Encryption": {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption"
                        },
                        "EntitlementStatus": {
                            "type": "string"
                        },
                        "FlowArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Subscribers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "FlowArn",
                        "Name",
                        "Subscribers"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConnect::FlowEntitlement"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::FlowEntitlement.Encryption": {
            "additionalProperties": false,
            "properties": {
                "Algorithm": {
                    "type": "string"
                },
                "ConstantInitializationVector": {
                    "type": "string"
                },
                "DeviceId": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                },
                "Region": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "SecretArn": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "Algorithm",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::FlowOutput": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CidrAllowList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Destination": {
                            "type": "string"
                        },
                        "Encryption": {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption"
                        },
                        "FlowArn": {
                            "type": "string"
                        },
                        "MaxLatency": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "Protocol": {
                            "type": "string"
                        },
                        "RemoteId": {
                            "type": "string"
                        },
                        "SmoothingLatency": {
                            "type": "number"
                        },
                        "StreamId": {
                            "type": "string"
                        },
                        "VpcInterfaceAttachment": {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment"
                        }
                    },
                    "required": [
                        "FlowArn",
                        "Protocol"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConnect::FlowOutput"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::FlowOutput.Encryption": {
            "additionalProperties": false,
            "properties": {
                "Algorithm": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "SecretArn": {
                    "type": "string"
                }
            },
            "required": [
                "Algorithm",
                "RoleArn",
                "SecretArn"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": {
            "additionalProperties": false,
            "properties": {
                "VpcInterfaceName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaConnect::FlowSource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Decryption": {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EntitlementArn": {
                            "type": "string"
                        },
                        "FlowArn": {
                            "type": "string"
                        },
                        "IngestPort": {
                            "type": "number"
                        },
                        "MaxBitrate": {
                            "type": "number"
                        },
                        "MaxLatency": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Protocol": {
                            "type": "string"
                        },
                        "StreamId": {
                            "type": "string"
                        },
                        "VpcInterfaceName": {
                            "type": "string"
                        },
                        "WhitelistCidr": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Description",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConnect::FlowSource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::FlowSource.Encryption": {
            "additionalProperties": false,
            "properties": {
                "Algorithm": {
                    "type": "string"
                },
                "ConstantInitializationVector": {
                    "type": "string"
                },
                "DeviceId": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                },
                "Region": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "SecretArn": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "Algorithm",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::MediaConnect::FlowVpcInterface": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FlowArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FlowArn",
                        "Name",
                        "RoleArn",
                        "SecurityGroupIds",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConnect::FlowVpcInterface"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaConvert::JobTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccelerationSettings": {
                            "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings"
                        },
                        "Category": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "HopDestinations": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Priority": {
                            "type": "number"
                        },
                        "Queue": {
                            "type": "string"
                        },
                        "SettingsJson": {
                            "type": "object"
                        },
                        "StatusUpdateInterval": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "SettingsJson"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConvert::JobTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaConvert::JobTemplate.AccelerationSettings": {
            "additionalProperties": false,
            "properties": {
                "Mode": {
                    "type": "string"
                }
            },
            "required": [
                "Mode"
            ],
            "type": "object"
        },
        "AWS::MediaConvert::JobTemplate.HopDestination": {
            "additionalProperties": false,
            "properties": {
                "Priority": {
                    "type": "number"
                },
                "Queue": {
                    "type": "string"
                },
                "WaitMinutes": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaConvert::Preset": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Category": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "SettingsJson": {
                            "type": "object"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "SettingsJson"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConvert::Preset"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaConvert::Queue": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "PricingPlan": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaConvert::Queue"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::MediaLive::Channel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CdiInputSpecification": {
                            "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification"
                        },
                        "ChannelClass": {
                            "type": "string"
                        },
                        "Destinations": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination"
                            },
                            "type": "array"
                        },
                        "EncoderSettings": {
                            "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings"
                        },
                        "InputAttachments": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment"
                            },
                            "type": "array"
                        },
                        "InputSpecification": {
                            "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification"
                        },
                        "LogLevel": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Vpc": {
                            "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaLive::Channel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::MediaLive::Channel.AacSettings": {
            "additionalProperties": false,
            "properties": {
                "Bitrate": {
                    "type": "number"
                },
                "CodingMode": {
                    "type": "string"
                },
                "InputType": {
                    "type": "string"
                },
                "Profile": {
                    "type": "string"
                },
                "RateControlMode": {
                    "type": "string"
                },
                "RawFormat": {
                    "type": "string"
                },
                "SampleRate": {
                    "type": "number"
                },
                "Spec": {
                    "type": "string"
                },
                "VbrQuality": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Ac3Settings": {
            "additionalProperties": false,
            "properties": {
                "Bitrate": {
                    "type": "number"
                },
                "BitstreamMode": {
                    "type": "string"
                },
                "CodingMode": {
                    "type": "string"
                },
                "Dialnorm": {
                    "type": "number"
                },
                "DrcProfile": {
                    "type": "string"
                },
                "LfeFilter": {
                    "type": "string"
                },
                "MetadataControl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AncillarySourceSettings": {
            "additionalProperties": false,
            "properties": {
                "SourceAncillaryChannelNumber": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.ArchiveCdnSettings": {
            "additionalProperties": false,
            "properties": {
                "ArchiveS3Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.ArchiveContainerSettings": {
            "additionalProperties": false,
            "properties": {
                "M2tsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings"
                },
                "RawSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.ArchiveGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "ArchiveCdnSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings"
                },
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                },
                "RolloverInterval": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.ArchiveOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "ContainerSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings"
                },
                "Extension": {
                    "type": "string"
                },
                "NameModifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.ArchiveS3Settings": {
            "additionalProperties": false,
            "properties": {
                "CannedAcl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AribDestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.AribSourceSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioChannelMapping": {
            "additionalProperties": false,
            "properties": {
                "InputChannelLevels": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel"
                    },
                    "type": "array"
                },
                "OutputChannel": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioCodecSettings": {
            "additionalProperties": false,
            "properties": {
                "AacSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings"
                },
                "Ac3Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings"
                },
                "Eac3Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings"
                },
                "Mp2Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings"
                },
                "PassThroughSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings"
                },
                "WavSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioDescription": {
            "additionalProperties": false,
            "properties": {
                "AudioNormalizationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings"
                },
                "AudioSelectorName": {
                    "type": "string"
                },
                "AudioType": {
                    "type": "string"
                },
                "AudioTypeControl": {
                    "type": "string"
                },
                "CodecSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings"
                },
                "LanguageCode": {
                    "type": "string"
                },
                "LanguageCodeControl": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "RemixSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings"
                },
                "StreamName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioLanguageSelection": {
            "additionalProperties": false,
            "properties": {
                "LanguageCode": {
                    "type": "string"
                },
                "LanguageSelectionPolicy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioNormalizationSettings": {
            "additionalProperties": false,
            "properties": {
                "Algorithm": {
                    "type": "string"
                },
                "AlgorithmControl": {
                    "type": "string"
                },
                "TargetLkfs": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioOnlyHlsSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioGroupId": {
                    "type": "string"
                },
                "AudioOnlyImage": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "AudioTrackType": {
                    "type": "string"
                },
                "SegmentType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioPidSelection": {
            "additionalProperties": false,
            "properties": {
                "Pid": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioSelector": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "SelectorSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioSelectorSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioLanguageSelection": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection"
                },
                "AudioPidSelection": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection"
                },
                "AudioTrackSelection": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioSelectorName": {
                    "type": "string"
                },
                "AudioSilenceThresholdMsec": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioTrack": {
            "additionalProperties": false,
            "properties": {
                "Track": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AudioTrackSelection": {
            "additionalProperties": false,
            "properties": {
                "Tracks": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": {
            "additionalProperties": false,
            "properties": {
                "ErrorClearTimeMsec": {
                    "type": "number"
                },
                "FailoverConditions": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition"
                    },
                    "type": "array"
                },
                "InputPreference": {
                    "type": "string"
                },
                "SecondaryInputId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AvailBlanking": {
            "additionalProperties": false,
            "properties": {
                "AvailBlankingImage": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "State": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AvailConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AvailSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.AvailSettings": {
            "additionalProperties": false,
            "properties": {
                "Scte35SpliceInsert": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert"
                },
                "Scte35TimeSignalApos": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.BlackoutSlate": {
            "additionalProperties": false,
            "properties": {
                "BlackoutSlateImage": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "NetworkEndBlackout": {
                    "type": "string"
                },
                "NetworkEndBlackoutImage": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "NetworkId": {
                    "type": "string"
                },
                "State": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.BurnInDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "Alignment": {
                    "type": "string"
                },
                "BackgroundColor": {
                    "type": "string"
                },
                "BackgroundOpacity": {
                    "type": "number"
                },
                "Font": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "FontColor": {
                    "type": "string"
                },
                "FontOpacity": {
                    "type": "number"
                },
                "FontResolution": {
                    "type": "number"
                },
                "FontSize": {
                    "type": "string"
                },
                "OutlineColor": {
                    "type": "string"
                },
                "OutlineSize": {
                    "type": "number"
                },
                "ShadowColor": {
                    "type": "string"
                },
                "ShadowOpacity": {
                    "type": "number"
                },
                "ShadowXOffset": {
                    "type": "number"
                },
                "ShadowYOffset": {
                    "type": "number"
                },
                "TeletextGridControl": {
                    "type": "string"
                },
                "XPosition": {
                    "type": "number"
                },
                "YPosition": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.CaptionDescription": {
            "additionalProperties": false,
            "properties": {
                "CaptionSelectorName": {
                    "type": "string"
                },
                "DestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings"
                },
                "LanguageCode": {
                    "type": "string"
                },
                "LanguageDescription": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.CaptionDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "AribDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings"
                },
                "BurnInDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings"
                },
                "DvbSubDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings"
                },
                "EbuTtDDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings"
                },
                "EmbeddedDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings"
                },
                "EmbeddedPlusScte20DestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings"
                },
                "RtmpCaptionInfoDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings"
                },
                "Scte20PlusEmbeddedDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings"
                },
                "Scte27DestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings"
                },
                "SmpteTtDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings"
                },
                "TeletextDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings"
                },
                "TtmlDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings"
                },
                "WebvttDestinationSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.CaptionLanguageMapping": {
            "additionalProperties": false,
            "properties": {
                "CaptionChannel": {
                    "type": "number"
                },
                "LanguageCode": {
                    "type": "string"
                },
                "LanguageDescription": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.CaptionRectangle": {
            "additionalProperties": false,
            "properties": {
                "Height": {
                    "type": "number"
                },
                "LeftOffset": {
                    "type": "number"
                },
                "TopOffset": {
                    "type": "number"
                },
                "Width": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.CaptionSelector": {
            "additionalProperties": false,
            "properties": {
                "LanguageCode": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "SelectorSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.CaptionSelectorSettings": {
            "additionalProperties": false,
            "properties": {
                "AncillarySourceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings"
                },
                "AribSourceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings"
                },
                "DvbSubSourceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings"
                },
                "EmbeddedSourceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings"
                },
                "Scte20SourceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings"
                },
                "Scte27SourceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings"
                },
                "TeletextSourceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.CdiInputSpecification": {
            "additionalProperties": false,
            "properties": {
                "Resolution": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.DvbNitSettings": {
            "additionalProperties": false,
            "properties": {
                "NetworkId": {
                    "type": "number"
                },
                "NetworkName": {
                    "type": "string"
                },
                "RepInterval": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.DvbSdtSettings": {
            "additionalProperties": false,
            "properties": {
                "OutputSdt": {
                    "type": "string"
                },
                "RepInterval": {
                    "type": "number"
                },
                "ServiceName": {
                    "type": "string"
                },
                "ServiceProviderName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.DvbSubDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "Alignment": {
                    "type": "string"
                },
                "BackgroundColor": {
                    "type": "string"
                },
                "BackgroundOpacity": {
                    "type": "number"
                },
                "Font": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "FontColor": {
                    "type": "string"
                },
                "FontOpacity": {
                    "type": "number"
                },
                "FontResolution": {
                    "type": "number"
                },
                "FontSize": {
                    "type": "string"
                },
                "OutlineColor": {
                    "type": "string"
                },
                "OutlineSize": {
                    "type": "number"
                },
                "ShadowColor": {
                    "type": "string"
                },
                "ShadowOpacity": {
                    "type": "number"
                },
                "ShadowXOffset": {
                    "type": "number"
                },
                "ShadowYOffset": {
                    "type": "number"
                },
                "TeletextGridControl": {
                    "type": "string"
                },
                "XPosition": {
                    "type": "number"
                },
                "YPosition": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.DvbSubSourceSettings": {
            "additionalProperties": false,
            "properties": {
                "Pid": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.DvbTdtSettings": {
            "additionalProperties": false,
            "properties": {
                "RepInterval": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Eac3Settings": {
            "additionalProperties": false,
            "properties": {
                "AttenuationControl": {
                    "type": "string"
                },
                "Bitrate": {
                    "type": "number"
                },
                "BitstreamMode": {
                    "type": "string"
                },
                "CodingMode": {
                    "type": "string"
                },
                "DcFilter": {
                    "type": "string"
                },
                "Dialnorm": {
                    "type": "number"
                },
                "DrcLine": {
                    "type": "string"
                },
                "DrcRf": {
                    "type": "string"
                },
                "LfeControl": {
                    "type": "string"
                },
                "LfeFilter": {
                    "type": "string"
                },
                "LoRoCenterMixLevel": {
                    "type": "number"
                },
                "LoRoSurroundMixLevel": {
                    "type": "number"
                },
                "LtRtCenterMixLevel": {
                    "type": "number"
                },
                "LtRtSurroundMixLevel": {
                    "type": "number"
                },
                "MetadataControl": {
                    "type": "string"
                },
                "PassthroughControl": {
                    "type": "string"
                },
                "PhaseControl": {
                    "type": "string"
                },
                "StereoDownmix": {
                    "type": "string"
                },
                "SurroundExMode": {
                    "type": "string"
                },
                "SurroundMode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.EbuTtDDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "CopyrightHolder": {
                    "type": "string"
                },
                "FillLineGap": {
                    "type": "string"
                },
                "FontFamily": {
                    "type": "string"
                },
                "StyleControl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.EmbeddedDestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.EmbeddedSourceSettings": {
            "additionalProperties": false,
            "properties": {
                "Convert608To708": {
                    "type": "string"
                },
                "Scte20Detection": {
                    "type": "string"
                },
                "Source608ChannelNumber": {
                    "type": "number"
                },
                "Source608TrackNumber": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.EncoderSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioDescriptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription"
                    },
                    "type": "array"
                },
                "AvailBlanking": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking"
                },
                "AvailConfiguration": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration"
                },
                "BlackoutSlate": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate"
                },
                "CaptionDescriptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription"
                    },
                    "type": "array"
                },
                "FeatureActivations": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations"
                },
                "GlobalConfiguration": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration"
                },
                "MotionGraphicsConfiguration": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration"
                },
                "NielsenConfiguration": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration"
                },
                "OutputGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup"
                    },
                    "type": "array"
                },
                "TimecodeConfig": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig"
                },
                "VideoDescriptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FailoverCondition": {
            "additionalProperties": false,
            "properties": {
                "FailoverConditionSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FailoverConditionSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioSilenceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings"
                },
                "InputLossSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings"
                },
                "VideoBlackSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FeatureActivations": {
            "additionalProperties": false,
            "properties": {
                "InputPrepareScheduleActions": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FecOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "ColumnDepth": {
                    "type": "number"
                },
                "IncludeFec": {
                    "type": "string"
                },
                "RowLength": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Fmp4HlsSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioRenditionSets": {
                    "type": "string"
                },
                "NielsenId3Behavior": {
                    "type": "string"
                },
                "TimedMetadataBehavior": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FrameCaptureCdnSettings": {
            "additionalProperties": false,
            "properties": {
                "FrameCaptureS3Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FrameCaptureGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                },
                "FrameCaptureCdnSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FrameCaptureHlsSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.FrameCaptureOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "NameModifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FrameCaptureS3Settings": {
            "additionalProperties": false,
            "properties": {
                "CannedAcl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.FrameCaptureSettings": {
            "additionalProperties": false,
            "properties": {
                "CaptureInterval": {
                    "type": "number"
                },
                "CaptureIntervalUnits": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.GlobalConfiguration": {
            "additionalProperties": false,
            "properties": {
                "InitialAudioGain": {
                    "type": "number"
                },
                "InputEndAction": {
                    "type": "string"
                },
                "InputLossBehavior": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior"
                },
                "OutputLockingMode": {
                    "type": "string"
                },
                "OutputTimingSource": {
                    "type": "string"
                },
                "SupportLowFramerateInputs": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.H264ColorSpaceSettings": {
            "additionalProperties": false,
            "properties": {
                "ColorSpacePassthroughSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings"
                },
                "Rec601Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings"
                },
                "Rec709Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.H264FilterSettings": {
            "additionalProperties": false,
            "properties": {
                "TemporalFilterSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.H264Settings": {
            "additionalProperties": false,
            "properties": {
                "AdaptiveQuantization": {
                    "type": "string"
                },
                "AfdSignaling": {
                    "type": "string"
                },
                "Bitrate": {
                    "type": "number"
                },
                "BufFillPct": {
                    "type": "number"
                },
                "BufSize": {
                    "type": "number"
                },
                "ColorMetadata": {
                    "type": "string"
                },
                "ColorSpaceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings"
                },
                "EntropyEncoding": {
                    "type": "string"
                },
                "FilterSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings"
                },
                "FixedAfd": {
                    "type": "string"
                },
                "FlickerAq": {
                    "type": "string"
                },
                "ForceFieldPictures": {
                    "type": "string"
                },
                "FramerateControl": {
                    "type": "string"
                },
                "FramerateDenominator": {
                    "type": "number"
                },
                "FramerateNumerator": {
                    "type": "number"
                },
                "GopBReference": {
                    "type": "string"
                },
                "GopClosedCadence": {
                    "type": "number"
                },
                "GopNumBFrames": {
                    "type": "number"
                },
                "GopSize": {
                    "type": "number"
                },
                "GopSizeUnits": {
                    "type": "string"
                },
                "Level": {
                    "type": "string"
                },
                "LookAheadRateControl": {
                    "type": "string"
                },
                "MaxBitrate": {
                    "type": "number"
                },
                "MinIInterval": {
                    "type": "number"
                },
                "NumRefFrames": {
                    "type": "number"
                },
                "ParControl": {
                    "type": "string"
                },
                "ParDenominator": {
                    "type": "number"
                },
                "ParNumerator": {
                    "type": "number"
                },
                "Profile": {
                    "type": "string"
                },
                "QualityLevel": {
                    "type": "string"
                },
                "QvbrQualityLevel": {
                    "type": "number"
                },
                "RateControlMode": {
                    "type": "string"
                },
                "ScanType": {
                    "type": "string"
                },
                "SceneChangeDetect": {
                    "type": "string"
                },
                "Slices": {
                    "type": "number"
                },
                "Softness": {
                    "type": "number"
                },
                "SpatialAq": {
                    "type": "string"
                },
                "SubgopLength": {
                    "type": "string"
                },
                "Syntax": {
                    "type": "string"
                },
                "TemporalAq": {
                    "type": "string"
                },
                "TimecodeInsertion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.H265ColorSpaceSettings": {
            "additionalProperties": false,
            "properties": {
                "ColorSpacePassthroughSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings"
                },
                "Hdr10Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings"
                },
                "Rec601Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings"
                },
                "Rec709Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.H265FilterSettings": {
            "additionalProperties": false,
            "properties": {
                "TemporalFilterSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.H265Settings": {
            "additionalProperties": false,
            "properties": {
                "AdaptiveQuantization": {
                    "type": "string"
                },
                "AfdSignaling": {
                    "type": "string"
                },
                "AlternativeTransferFunction": {
                    "type": "string"
                },
                "Bitrate": {
                    "type": "number"
                },
                "BufSize": {
                    "type": "number"
                },
                "ColorMetadata": {
                    "type": "string"
                },
                "ColorSpaceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings"
                },
                "FilterSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings"
                },
                "FixedAfd": {
                    "type": "string"
                },
                "FlickerAq": {
                    "type": "string"
                },
                "FramerateDenominator": {
                    "type": "number"
                },
                "FramerateNumerator": {
                    "type": "number"
                },
                "GopClosedCadence": {
                    "type": "number"
                },
                "GopSize": {
                    "type": "number"
                },
                "GopSizeUnits": {
                    "type": "string"
                },
                "Level": {
                    "type": "string"
                },
                "LookAheadRateControl": {
                    "type": "string"
                },
                "MaxBitrate": {
                    "type": "number"
                },
                "MinIInterval": {
                    "type": "number"
                },
                "ParDenominator": {
                    "type": "number"
                },
                "ParNumerator": {
                    "type": "number"
                },
                "Profile": {
                    "type": "string"
                },
                "QvbrQualityLevel": {
                    "type": "number"
                },
                "RateControlMode": {
                    "type": "string"
                },
                "ScanType": {
                    "type": "string"
                },
                "SceneChangeDetect": {
                    "type": "string"
                },
                "Slices": {
                    "type": "number"
                },
                "Tier": {
                    "type": "string"
                },
                "TimecodeInsertion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Hdr10Settings": {
            "additionalProperties": false,
            "properties": {
                "MaxCll": {
                    "type": "number"
                },
                "MaxFall": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsAkamaiSettings": {
            "additionalProperties": false,
            "properties": {
                "ConnectionRetryInterval": {
                    "type": "number"
                },
                "FilecacheDuration": {
                    "type": "number"
                },
                "HttpTransferMode": {
                    "type": "string"
                },
                "NumRetries": {
                    "type": "number"
                },
                "RestartDelay": {
                    "type": "number"
                },
                "Salt": {
                    "type": "string"
                },
                "Token": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsBasicPutSettings": {
            "additionalProperties": false,
            "properties": {
                "ConnectionRetryInterval": {
                    "type": "number"
                },
                "FilecacheDuration": {
                    "type": "number"
                },
                "NumRetries": {
                    "type": "number"
                },
                "RestartDelay": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsCdnSettings": {
            "additionalProperties": false,
            "properties": {
                "HlsAkamaiSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings"
                },
                "HlsBasicPutSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings"
                },
                "HlsMediaStoreSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings"
                },
                "HlsS3Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings"
                },
                "HlsWebdavSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "AdMarkers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "BaseUrlContent": {
                    "type": "string"
                },
                "BaseUrlContent1": {
                    "type": "string"
                },
                "BaseUrlManifest": {
                    "type": "string"
                },
                "BaseUrlManifest1": {
                    "type": "string"
                },
                "CaptionLanguageMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping"
                    },
                    "type": "array"
                },
                "CaptionLanguageSetting": {
                    "type": "string"
                },
                "ClientCache": {
                    "type": "string"
                },
                "CodecSpecification": {
                    "type": "string"
                },
                "ConstantIv": {
                    "type": "string"
                },
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                },
                "DirectoryStructure": {
                    "type": "string"
                },
                "DiscontinuityTags": {
                    "type": "string"
                },
                "EncryptionType": {
                    "type": "string"
                },
                "HlsCdnSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings"
                },
                "HlsId3SegmentTagging": {
                    "type": "string"
                },
                "IFrameOnlyPlaylists": {
                    "type": "string"
                },
                "IncompleteSegmentBehavior": {
                    "type": "string"
                },
                "IndexNSegments": {
                    "type": "number"
                },
                "InputLossAction": {
                    "type": "string"
                },
                "IvInManifest": {
                    "type": "string"
                },
                "IvSource": {
                    "type": "string"
                },
                "KeepSegments": {
                    "type": "number"
                },
                "KeyFormat": {
                    "type": "string"
                },
                "KeyFormatVersions": {
                    "type": "string"
                },
                "KeyProviderSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings"
                },
                "ManifestCompression": {
                    "type": "string"
                },
                "ManifestDurationFormat": {
                    "type": "string"
                },
                "MinSegmentLength": {
                    "type": "number"
                },
                "Mode": {
                    "type": "string"
                },
                "OutputSelection": {
                    "type": "string"
                },
                "ProgramDateTime": {
                    "type": "string"
                },
                "ProgramDateTimePeriod": {
                    "type": "number"
                },
                "RedundantManifest": {
                    "type": "string"
                },
                "SegmentLength": {
                    "type": "number"
                },
                "SegmentationMode": {
                    "type": "string"
                },
                "SegmentsPerSubdirectory": {
                    "type": "number"
                },
                "StreamInfResolution": {
                    "type": "string"
                },
                "TimedMetadataId3Frame": {
                    "type": "string"
                },
                "TimedMetadataId3Period": {
                    "type": "number"
                },
                "TimestampDeltaMilliseconds": {
                    "type": "number"
                },
                "TsFileMode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsInputSettings": {
            "additionalProperties": false,
            "properties": {
                "Bandwidth": {
                    "type": "number"
                },
                "BufferSegments": {
                    "type": "number"
                },
                "Retries": {
                    "type": "number"
                },
                "RetryInterval": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsMediaStoreSettings": {
            "additionalProperties": false,
            "properties": {
                "ConnectionRetryInterval": {
                    "type": "number"
                },
                "FilecacheDuration": {
                    "type": "number"
                },
                "MediaStoreStorageClass": {
                    "type": "string"
                },
                "NumRetries": {
                    "type": "number"
                },
                "RestartDelay": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "H265PackagingType": {
                    "type": "string"
                },
                "HlsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings"
                },
                "NameModifier": {
                    "type": "string"
                },
                "SegmentModifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsS3Settings": {
            "additionalProperties": false,
            "properties": {
                "CannedAcl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioOnlyHlsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings"
                },
                "Fmp4HlsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings"
                },
                "FrameCaptureHlsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings"
                },
                "StandardHlsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HlsWebdavSettings": {
            "additionalProperties": false,
            "properties": {
                "ConnectionRetryInterval": {
                    "type": "number"
                },
                "FilecacheDuration": {
                    "type": "number"
                },
                "HttpTransferMode": {
                    "type": "string"
                },
                "NumRetries": {
                    "type": "number"
                },
                "RestartDelay": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.InputAttachment": {
            "additionalProperties": false,
            "properties": {
                "AutomaticInputFailoverSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings"
                },
                "InputAttachmentName": {
                    "type": "string"
                },
                "InputId": {
                    "type": "string"
                },
                "InputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.InputChannelLevel": {
            "additionalProperties": false,
            "properties": {
                "Gain": {
                    "type": "number"
                },
                "InputChannel": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.InputLocation": {
            "additionalProperties": false,
            "properties": {
                "PasswordParam": {
                    "type": "string"
                },
                "Uri": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.InputLossBehavior": {
            "additionalProperties": false,
            "properties": {
                "BlackFrameMsec": {
                    "type": "number"
                },
                "InputLossImageColor": {
                    "type": "string"
                },
                "InputLossImageSlate": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "InputLossImageType": {
                    "type": "string"
                },
                "RepeatFrameMsec": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.InputLossFailoverSettings": {
            "additionalProperties": false,
            "properties": {
                "InputLossThresholdMsec": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.InputSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioSelectors": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector"
                    },
                    "type": "array"
                },
                "CaptionSelectors": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector"
                    },
                    "type": "array"
                },
                "DeblockFilter": {
                    "type": "string"
                },
                "DenoiseFilter": {
                    "type": "string"
                },
                "FilterStrength": {
                    "type": "number"
                },
                "InputFilter": {
                    "type": "string"
                },
                "NetworkInputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings"
                },
                "Smpte2038DataPreference": {
                    "type": "string"
                },
                "SourceEndBehavior": {
                    "type": "string"
                },
                "VideoSelector": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.InputSpecification": {
            "additionalProperties": false,
            "properties": {
                "Codec": {
                    "type": "string"
                },
                "MaximumBitrate": {
                    "type": "string"
                },
                "Resolution": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.KeyProviderSettings": {
            "additionalProperties": false,
            "properties": {
                "StaticKeySettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.M2tsSettings": {
            "additionalProperties": false,
            "properties": {
                "AbsentInputAudioBehavior": {
                    "type": "string"
                },
                "Arib": {
                    "type": "string"
                },
                "AribCaptionsPid": {
                    "type": "string"
                },
                "AribCaptionsPidControl": {
                    "type": "string"
                },
                "AudioBufferModel": {
                    "type": "string"
                },
                "AudioFramesPerPes": {
                    "type": "number"
                },
                "AudioPids": {
                    "type": "string"
                },
                "AudioStreamType": {
                    "type": "string"
                },
                "Bitrate": {
                    "type": "number"
                },
                "BufferModel": {
                    "type": "string"
                },
                "CcDescriptor": {
                    "type": "string"
                },
                "DvbNitSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings"
                },
                "DvbSdtSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings"
                },
                "DvbSubPids": {
                    "type": "string"
                },
                "DvbTdtSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings"
                },
                "DvbTeletextPid": {
                    "type": "string"
                },
                "Ebif": {
                    "type": "string"
                },
                "EbpAudioInterval": {
                    "type": "string"
                },
                "EbpLookaheadMs": {
                    "type": "number"
                },
                "EbpPlacement": {
                    "type": "string"
                },
                "EcmPid": {
                    "type": "string"
                },
                "EsRateInPes": {
                    "type": "string"
                },
                "EtvPlatformPid": {
                    "type": "string"
                },
                "EtvSignalPid": {
                    "type": "string"
                },
                "FragmentTime": {
                    "type": "number"
                },
                "Klv": {
                    "type": "string"
                },
                "KlvDataPids": {
                    "type": "string"
                },
                "NielsenId3Behavior": {
                    "type": "string"
                },
                "NullPacketBitrate": {
                    "type": "number"
                },
                "PatInterval": {
                    "type": "number"
                },
                "PcrControl": {
                    "type": "string"
                },
                "PcrPeriod": {
                    "type": "number"
                },
                "PcrPid": {
                    "type": "string"
                },
                "PmtInterval": {
                    "type": "number"
                },
                "PmtPid": {
                    "type": "string"
                },
                "ProgramNum": {
                    "type": "number"
                },
                "RateMode": {
                    "type": "string"
                },
                "Scte27Pids": {
                    "type": "string"
                },
                "Scte35Control": {
                    "type": "string"
                },
                "Scte35Pid": {
                    "type": "string"
                },
                "SegmentationMarkers": {
                    "type": "string"
                },
                "SegmentationStyle": {
                    "type": "string"
                },
                "SegmentationTime": {
                    "type": "number"
                },
                "TimedMetadataBehavior": {
                    "type": "string"
                },
                "TimedMetadataPid": {
                    "type": "string"
                },
                "TransportStreamId": {
                    "type": "number"
                },
                "VideoPid": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.M3u8Settings": {
            "additionalProperties": false,
            "properties": {
                "AudioFramesPerPes": {
                    "type": "number"
                },
                "AudioPids": {
                    "type": "string"
                },
                "EcmPid": {
                    "type": "string"
                },
                "NielsenId3Behavior": {
                    "type": "string"
                },
                "PatInterval": {
                    "type": "number"
                },
                "PcrControl": {
                    "type": "string"
                },
                "PcrPeriod": {
                    "type": "number"
                },
                "PcrPid": {
                    "type": "string"
                },
                "PmtInterval": {
                    "type": "number"
                },
                "PmtPid": {
                    "type": "string"
                },
                "ProgramNum": {
                    "type": "number"
                },
                "Scte35Behavior": {
                    "type": "string"
                },
                "Scte35Pid": {
                    "type": "string"
                },
                "TimedMetadataBehavior": {
                    "type": "string"
                },
                "TimedMetadataPid": {
                    "type": "string"
                },
                "TransportStreamId": {
                    "type": "number"
                },
                "VideoPid": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MediaPackageGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "ChannelId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MediaPackageOutputSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.MotionGraphicsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "MotionGraphicsInsertion": {
                    "type": "string"
                },
                "MotionGraphicsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MotionGraphicsSettings": {
            "additionalProperties": false,
            "properties": {
                "HtmlMotionGraphicsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Mp2Settings": {
            "additionalProperties": false,
            "properties": {
                "Bitrate": {
                    "type": "number"
                },
                "CodingMode": {
                    "type": "string"
                },
                "SampleRate": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Mpeg2FilterSettings": {
            "additionalProperties": false,
            "properties": {
                "TemporalFilterSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Mpeg2Settings": {
            "additionalProperties": false,
            "properties": {
                "AdaptiveQuantization": {
                    "type": "string"
                },
                "AfdSignaling": {
                    "type": "string"
                },
                "ColorMetadata": {
                    "type": "string"
                },
                "ColorSpace": {
                    "type": "string"
                },
                "DisplayAspectRatio": {
                    "type": "string"
                },
                "FilterSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings"
                },
                "FixedAfd": {
                    "type": "string"
                },
                "FramerateDenominator": {
                    "type": "number"
                },
                "FramerateNumerator": {
                    "type": "number"
                },
                "GopClosedCadence": {
                    "type": "number"
                },
                "GopNumBFrames": {
                    "type": "number"
                },
                "GopSize": {
                    "type": "number"
                },
                "GopSizeUnits": {
                    "type": "string"
                },
                "ScanType": {
                    "type": "string"
                },
                "SubgopLength": {
                    "type": "string"
                },
                "TimecodeInsertion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MsSmoothGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "AcquisitionPointId": {
                    "type": "string"
                },
                "AudioOnlyTimecodeControl": {
                    "type": "string"
                },
                "CertificateMode": {
                    "type": "string"
                },
                "ConnectionRetryInterval": {
                    "type": "number"
                },
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                },
                "EventId": {
                    "type": "string"
                },
                "EventIdMode": {
                    "type": "string"
                },
                "EventStopBehavior": {
                    "type": "string"
                },
                "FilecacheDuration": {
                    "type": "number"
                },
                "FragmentLength": {
                    "type": "number"
                },
                "InputLossAction": {
                    "type": "string"
                },
                "NumRetries": {
                    "type": "number"
                },
                "RestartDelay": {
                    "type": "number"
                },
                "SegmentationMode": {
                    "type": "string"
                },
                "SendDelayMs": {
                    "type": "number"
                },
                "SparseTrackType": {
                    "type": "string"
                },
                "StreamManifestBehavior": {
                    "type": "string"
                },
                "TimestampOffset": {
                    "type": "string"
                },
                "TimestampOffsetMode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MsSmoothOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "H265PackagingType": {
                    "type": "string"
                },
                "NameModifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MultiplexGroupSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.MultiplexOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "MultiplexId": {
                    "type": "string"
                },
                "ProgramName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.NetworkInputSettings": {
            "additionalProperties": false,
            "properties": {
                "HlsInputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings"
                },
                "ServerValidation": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.NielsenConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DistributorId": {
                    "type": "string"
                },
                "NielsenPcmToId3Tagging": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Output": {
            "additionalProperties": false,
            "properties": {
                "AudioDescriptionNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CaptionDescriptionNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "OutputName": {
                    "type": "string"
                },
                "OutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings"
                },
                "VideoDescriptionName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.OutputDestination": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "MediaPackageSettings": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings"
                    },
                    "type": "array"
                },
                "MultiplexSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings"
                },
                "Settings": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.OutputDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "PasswordParam": {
                    "type": "string"
                },
                "StreamName": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.OutputGroup": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "OutputGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings"
                },
                "Outputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.Output"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.OutputGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "ArchiveGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings"
                },
                "FrameCaptureGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings"
                },
                "HlsGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings"
                },
                "MediaPackageGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings"
                },
                "MsSmoothGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings"
                },
                "MultiplexGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings"
                },
                "RtmpGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings"
                },
                "UdpGroupSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.OutputLocationRef": {
            "additionalProperties": false,
            "properties": {
                "DestinationRefId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.OutputSettings": {
            "additionalProperties": false,
            "properties": {
                "ArchiveOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings"
                },
                "FrameCaptureOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings"
                },
                "HlsOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings"
                },
                "MediaPackageOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings"
                },
                "MsSmoothOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings"
                },
                "MultiplexOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings"
                },
                "RtmpOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings"
                },
                "UdpOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.PassThroughSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.RawSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.Rec601Settings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.Rec709Settings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.RemixSettings": {
            "additionalProperties": false,
            "properties": {
                "ChannelMappings": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping"
                    },
                    "type": "array"
                },
                "ChannelsIn": {
                    "type": "number"
                },
                "ChannelsOut": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.RtmpGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "AdMarkers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AuthenticationScheme": {
                    "type": "string"
                },
                "CacheFullBehavior": {
                    "type": "string"
                },
                "CacheLength": {
                    "type": "number"
                },
                "CaptionData": {
                    "type": "string"
                },
                "InputLossAction": {
                    "type": "string"
                },
                "RestartDelay": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.RtmpOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "CertificateMode": {
                    "type": "string"
                },
                "ConnectionRetryInterval": {
                    "type": "number"
                },
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                },
                "NumRetries": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.Scte20SourceSettings": {
            "additionalProperties": false,
            "properties": {
                "Convert608To708": {
                    "type": "string"
                },
                "Source608ChannelNumber": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Scte27DestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.Scte27SourceSettings": {
            "additionalProperties": false,
            "properties": {
                "Pid": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Scte35SpliceInsert": {
            "additionalProperties": false,
            "properties": {
                "AdAvailOffset": {
                    "type": "number"
                },
                "NoRegionalBlackoutFlag": {
                    "type": "string"
                },
                "WebDeliveryAllowedFlag": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.Scte35TimeSignalApos": {
            "additionalProperties": false,
            "properties": {
                "AdAvailOffset": {
                    "type": "number"
                },
                "NoRegionalBlackoutFlag": {
                    "type": "string"
                },
                "WebDeliveryAllowedFlag": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.SmpteTtDestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.StandardHlsSettings": {
            "additionalProperties": false,
            "properties": {
                "AudioRenditionSets": {
                    "type": "string"
                },
                "M3u8Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.StaticKeySettings": {
            "additionalProperties": false,
            "properties": {
                "KeyProviderServer": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation"
                },
                "StaticKeyValue": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.TeletextDestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Channel.TeletextSourceSettings": {
            "additionalProperties": false,
            "properties": {
                "OutputRectangle": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle"
                },
                "PageNumber": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.TemporalFilterSettings": {
            "additionalProperties": false,
            "properties": {
                "PostFilterSharpening": {
                    "type": "string"
                },
                "Strength": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.TimecodeConfig": {
            "additionalProperties": false,
            "properties": {
                "Source": {
                    "type": "string"
                },
                "SyncThreshold": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.TtmlDestinationSettings": {
            "additionalProperties": false,
            "properties": {
                "StyleControl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.UdpContainerSettings": {
            "additionalProperties": false,
            "properties": {
                "M2tsSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.UdpGroupSettings": {
            "additionalProperties": false,
            "properties": {
                "InputLossAction": {
                    "type": "string"
                },
                "TimedMetadataId3Frame": {
                    "type": "string"
                },
                "TimedMetadataId3Period": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.UdpOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "BufferMsec": {
                    "type": "number"
                },
                "ContainerSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings"
                },
                "Destination": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef"
                },
                "FecOutputSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoBlackFailoverSettings": {
            "additionalProperties": false,
            "properties": {
                "BlackDetectThreshold": {
                    "type": "number"
                },
                "VideoBlackThresholdMsec": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoCodecSettings": {
            "additionalProperties": false,
            "properties": {
                "FrameCaptureSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings"
                },
                "H264Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings"
                },
                "H265Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings"
                },
                "Mpeg2Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoDescription": {
            "additionalProperties": false,
            "properties": {
                "CodecSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings"
                },
                "Height": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "RespondToAfd": {
                    "type": "string"
                },
                "ScalingBehavior": {
                    "type": "string"
                },
                "Sharpness": {
                    "type": "number"
                },
                "Width": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoSelector": {
            "additionalProperties": false,
            "properties": {
                "ColorSpace": {
                    "type": "string"
                },
                "ColorSpaceSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings"
                },
                "ColorSpaceUsage": {
                    "type": "string"
                },
                "SelectorSettings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": {
            "additionalProperties": false,
            "properties": {
                "Hdr10Settings": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoSelectorPid": {
            "additionalProperties": false,
            "properties": {
                "Pid": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoSelectorProgramId": {
            "additionalProperties": false,
            "properties": {
                "ProgramId": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VideoSelectorSettings": {
            "additionalProperties": false,
            "properties": {
                "VideoSelectorPid": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid"
                },
                "VideoSelectorProgramId": {
                    "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.VpcOutputSettings": {
            "additionalProperties": false,
            "properties": {
                "PublicAddressAllocationIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.WavSettings": {
            "additionalProperties": false,
            "properties": {
                "BitDepth": {
                    "type": "number"
                },
                "CodingMode": {
                    "type": "string"
                },
                "SampleRate": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Channel.WebvttDestinationSettings": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::MediaLive::Input": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Destinations": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest"
                            },
                            "type": "array"
                        },
                        "InputDevices": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings"
                            },
                            "type": "array"
                        },
                        "InputSecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MediaConnectFlows": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Sources": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "Vpc": {
                            "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaLive::Input"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::MediaLive::Input.InputDestinationRequest": {
            "additionalProperties": false,
            "properties": {
                "StreamName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Input.InputDeviceRequest": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Input.InputDeviceSettings": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Input.InputSourceRequest": {
            "additionalProperties": false,
            "properties": {
                "PasswordParam": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Input.InputVpcRequest": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::Input.MediaConnectFlowRequest": {
            "additionalProperties": false,
            "properties": {
                "FlowArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaLive::InputSecurityGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "type": "object"
                        },
                        "WhitelistRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaLive::InputSecurityGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": {
            "additionalProperties": false,
            "properties": {
                "Cidr": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::Asset": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EgressEndpoints": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint"
                            },
                            "type": "array"
                        },
                        "Id": {
                            "type": "string"
                        },
                        "PackagingGroupId": {
                            "type": "string"
                        },
                        "ResourceId": {
                            "type": "string"
                        },
                        "SourceArn": {
                            "type": "string"
                        },
                        "SourceRoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Id",
                        "PackagingGroupId",
                        "SourceArn",
                        "SourceRoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaPackage::Asset"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::Asset.EgressEndpoint": {
            "additionalProperties": false,
            "properties": {
                "PackagingConfigurationId": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "PackagingConfigurationId",
                "Url"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::Channel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "EgressAccessLogs": {
                            "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration"
                        },
                        "Id": {
                            "type": "string"
                        },
                        "IngressAccessLogs": {
                            "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Id"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaPackage::Channel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::Channel.LogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LogGroupName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Authorization": {
                            "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization"
                        },
                        "ChannelId": {
                            "type": "string"
                        },
                        "CmafPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage"
                        },
                        "DashPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "HlsPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage"
                        },
                        "Id": {
                            "type": "string"
                        },
                        "ManifestName": {
                            "type": "string"
                        },
                        "MssPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage"
                        },
                        "Origination": {
                            "type": "string"
                        },
                        "StartoverWindowSeconds": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TimeDelaySeconds": {
                            "type": "number"
                        },
                        "Whitelist": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ChannelId",
                        "Id"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaPackage::OriginEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.Authorization": {
            "additionalProperties": false,
            "properties": {
                "CdnIdentifierSecret": {
                    "type": "string"
                },
                "SecretsRoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "CdnIdentifierSecret",
                "SecretsRoleArn"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.CmafEncryption": {
            "additionalProperties": false,
            "properties": {
                "ConstantInitializationVector": {
                    "type": "string"
                },
                "KeyRotationIntervalSeconds": {
                    "type": "number"
                },
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.CmafPackage": {
            "additionalProperties": false,
            "properties": {
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption"
                },
                "HlsManifests": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest"
                    },
                    "type": "array"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                },
                "SegmentPrefix": {
                    "type": "string"
                },
                "StreamSelection": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.DashEncryption": {
            "additionalProperties": false,
            "properties": {
                "KeyRotationIntervalSeconds": {
                    "type": "number"
                },
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.DashPackage": {
            "additionalProperties": false,
            "properties": {
                "AdTriggers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AdsOnDeliveryRestrictions": {
                    "type": "string"
                },
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption"
                },
                "ManifestLayout": {
                    "type": "string"
                },
                "ManifestWindowSeconds": {
                    "type": "number"
                },
                "MinBufferTimeSeconds": {
                    "type": "number"
                },
                "MinUpdatePeriodSeconds": {
                    "type": "number"
                },
                "PeriodTriggers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Profile": {
                    "type": "string"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                },
                "SegmentTemplateFormat": {
                    "type": "string"
                },
                "StreamSelection": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection"
                },
                "SuggestedPresentationDelaySeconds": {
                    "type": "number"
                },
                "UtcTiming": {
                    "type": "string"
                },
                "UtcTimingUri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.HlsEncryption": {
            "additionalProperties": false,
            "properties": {
                "ConstantInitializationVector": {
                    "type": "string"
                },
                "EncryptionMethod": {
                    "type": "string"
                },
                "KeyRotationIntervalSeconds": {
                    "type": "number"
                },
                "RepeatExtXKey": {
                    "type": "boolean"
                },
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.HlsManifest": {
            "additionalProperties": false,
            "properties": {
                "AdMarkers": {
                    "type": "string"
                },
                "AdTriggers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AdsOnDeliveryRestrictions": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "IncludeIframeOnlyStream": {
                    "type": "boolean"
                },
                "ManifestName": {
                    "type": "string"
                },
                "PlaylistType": {
                    "type": "string"
                },
                "PlaylistWindowSeconds": {
                    "type": "number"
                },
                "ProgramDateTimeIntervalSeconds": {
                    "type": "number"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.HlsPackage": {
            "additionalProperties": false,
            "properties": {
                "AdMarkers": {
                    "type": "string"
                },
                "AdTriggers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AdsOnDeliveryRestrictions": {
                    "type": "string"
                },
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption"
                },
                "IncludeIframeOnlyStream": {
                    "type": "boolean"
                },
                "PlaylistType": {
                    "type": "string"
                },
                "PlaylistWindowSeconds": {
                    "type": "number"
                },
                "ProgramDateTimeIntervalSeconds": {
                    "type": "number"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                },
                "StreamSelection": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection"
                },
                "UseAudioRenditionGroup": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.MssEncryption": {
            "additionalProperties": false,
            "properties": {
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.MssPackage": {
            "additionalProperties": false,
            "properties": {
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption"
                },
                "ManifestWindowSeconds": {
                    "type": "number"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                },
                "StreamSelection": {
                    "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": {
            "additionalProperties": false,
            "properties": {
                "CertificateArn": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "SystemIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceId",
                "RoleArn",
                "SystemIds",
                "Url"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::OriginEndpoint.StreamSelection": {
            "additionalProperties": false,
            "properties": {
                "MaxVideoBitsPerSecond": {
                    "type": "number"
                },
                "MinVideoBitsPerSecond": {
                    "type": "number"
                },
                "StreamOrder": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CmafPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage"
                        },
                        "DashPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage"
                        },
                        "HlsPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage"
                        },
                        "Id": {
                            "type": "string"
                        },
                        "MssPackage": {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage"
                        },
                        "PackagingGroupId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Id",
                        "PackagingGroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaPackage::PackagingConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": {
            "additionalProperties": false,
            "properties": {
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.CmafPackage": {
            "additionalProperties": false,
            "properties": {
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption"
                },
                "HlsManifests": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest"
                    },
                    "type": "array"
                },
                "IncludeEncoderConfigurationInSegments": {
                    "type": "boolean"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "HlsManifests"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.DashEncryption": {
            "additionalProperties": false,
            "properties": {
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.DashManifest": {
            "additionalProperties": false,
            "properties": {
                "ManifestLayout": {
                    "type": "string"
                },
                "ManifestName": {
                    "type": "string"
                },
                "MinBufferTimeSeconds": {
                    "type": "number"
                },
                "Profile": {
                    "type": "string"
                },
                "StreamSelection": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.DashPackage": {
            "additionalProperties": false,
            "properties": {
                "DashManifests": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest"
                    },
                    "type": "array"
                },
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption"
                },
                "IncludeEncoderConfigurationInSegments": {
                    "type": "boolean"
                },
                "PeriodTriggers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                },
                "SegmentTemplateFormat": {
                    "type": "string"
                }
            },
            "required": [
                "DashManifests"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": {
            "additionalProperties": false,
            "properties": {
                "ConstantInitializationVector": {
                    "type": "string"
                },
                "EncryptionMethod": {
                    "type": "string"
                },
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.HlsManifest": {
            "additionalProperties": false,
            "properties": {
                "AdMarkers": {
                    "type": "string"
                },
                "IncludeIframeOnlyStream": {
                    "type": "boolean"
                },
                "ManifestName": {
                    "type": "string"
                },
                "ProgramDateTimeIntervalSeconds": {
                    "type": "number"
                },
                "RepeatExtXKey": {
                    "type": "boolean"
                },
                "StreamSelection": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.HlsPackage": {
            "additionalProperties": false,
            "properties": {
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption"
                },
                "HlsManifests": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest"
                    },
                    "type": "array"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                },
                "UseAudioRenditionGroup": {
                    "type": "boolean"
                }
            },
            "required": [
                "HlsManifests"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.MssEncryption": {
            "additionalProperties": false,
            "properties": {
                "SpekeKeyProvider": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider"
                }
            },
            "required": [
                "SpekeKeyProvider"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.MssManifest": {
            "additionalProperties": false,
            "properties": {
                "ManifestName": {
                    "type": "string"
                },
                "StreamSelection": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.MssPackage": {
            "additionalProperties": false,
            "properties": {
                "Encryption": {
                    "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption"
                },
                "MssManifests": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest"
                    },
                    "type": "array"
                },
                "SegmentDurationSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "MssManifests"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": {
            "additionalProperties": false,
            "properties": {
                "RoleArn": {
                    "type": "string"
                },
                "SystemIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Url": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn",
                "SystemIds",
                "Url"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingConfiguration.StreamSelection": {
            "additionalProperties": false,
            "properties": {
                "MaxVideoBitsPerSecond": {
                    "type": "number"
                },
                "MinVideoBitsPerSecond": {
                    "type": "number"
                },
                "StreamOrder": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaPackage::PackagingGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Authorization": {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization"
                        },
                        "EgressAccessLogs": {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration"
                        },
                        "Id": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Id"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaPackage::PackagingGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingGroup.Authorization": {
            "additionalProperties": false,
            "properties": {
                "CdnIdentifierSecret": {
                    "type": "string"
                },
                "SecretsRoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "CdnIdentifierSecret",
                "SecretsRoleArn"
            ],
            "type": "object"
        },
        "AWS::MediaPackage::PackagingGroup.LogConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LogGroupName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::MediaStore::Container": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessLoggingEnabled": {
                            "type": "boolean"
                        },
                        "ContainerName": {
                            "type": "string"
                        },
                        "CorsPolicy": {
                            "items": {
                                "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule"
                            },
                            "type": "array"
                        },
                        "LifecyclePolicy": {
                            "type": "string"
                        },
                        "MetricPolicy": {
                            "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy"
                        },
                        "Policy": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ContainerName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::MediaStore::Container"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::MediaStore::Container.CorsRule": {
            "additionalProperties": false,
            "properties": {
                "AllowedHeaders": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedMethods": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedOrigins": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExposeHeaders": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MaxAgeSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::MediaStore::Container.MetricPolicy": {
            "additionalProperties": false,
            "properties": {
                "ContainerLevelMetrics": {
                    "type": "string"
                },
                "MetricPolicyRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ContainerLevelMetrics"
            ],
            "type": "object"
        },
        "AWS::MediaStore::Container.MetricPolicyRule": {
            "additionalProperties": false,
            "properties": {
                "ObjectGroup": {
                    "type": "string"
                },
                "ObjectGroupName": {
                    "type": "string"
                }
            },
            "required": [
                "ObjectGroup",
                "ObjectGroupName"
            ],
            "type": "object"
        },
        "AWS::Neptune::DBCluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssociatedRoles": {
                            "items": {
                                "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole"
                            },
                            "type": "array"
                        },
                        "AvailabilityZones": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "BackupRetentionPeriod": {
                            "type": "number"
                        },
                        "DBClusterIdentifier": {
                            "type": "string"
                        },
                        "DBClusterParameterGroupName": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "DeletionProtection": {
                            "type": "boolean"
                        },
                        "EnableCloudwatchLogsExports": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "IamAuthEnabled": {
                            "type": "boolean"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "PreferredBackupWindow": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "RestoreToTime": {
                            "type": "string"
                        },
                        "RestoreType": {
                            "type": "string"
                        },
                        "SnapshotIdentifier": {
                            "type": "string"
                        },
                        "SourceDBClusterIdentifier": {
                            "type": "string"
                        },
                        "StorageEncrypted": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UseLatestRestorableTime": {
                            "type": "boolean"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Neptune::DBCluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Neptune::DBCluster.DBClusterRole": {
            "additionalProperties": false,
            "properties": {
                "FeatureName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::Neptune::DBClusterParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Family": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "Family",
                        "Parameters"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Neptune::DBClusterParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Neptune::DBInstance": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowMajorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AutoMinorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "DBClusterIdentifier": {
                            "type": "string"
                        },
                        "DBInstanceClass": {
                            "type": "string"
                        },
                        "DBInstanceIdentifier": {
                            "type": "string"
                        },
                        "DBParameterGroupName": {
                            "type": "string"
                        },
                        "DBSnapshotIdentifier": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBInstanceClass"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Neptune::DBInstance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Neptune::DBParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Family": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "Family",
                        "Parameters"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Neptune::DBParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Neptune::DBSubnetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DBSubnetGroupDescription": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBSubnetGroupDescription",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Neptune::DBSubnetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::Firewall": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeleteProtection": {
                            "type": "boolean"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FirewallName": {
                            "type": "string"
                        },
                        "FirewallPolicyArn": {
                            "type": "string"
                        },
                        "FirewallPolicyChangeProtection": {
                            "type": "boolean"
                        },
                        "SubnetChangeProtection": {
                            "type": "boolean"
                        },
                        "SubnetMappings": {
                            "items": {
                                "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FirewallName",
                        "FirewallPolicyArn",
                        "SubnetMappings",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkFirewall::Firewall"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::Firewall.SubnetMapping": {
            "additionalProperties": false,
            "properties": {
                "SubnetId": {
                    "type": "string"
                }
            },
            "required": [
                "SubnetId"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "FirewallPolicy": {
                            "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy"
                        },
                        "FirewallPolicyName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "FirewallPolicy",
                        "FirewallPolicyName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkFirewall::FirewallPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": {
            "additionalProperties": false,
            "properties": {
                "PublishMetricAction": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction"
                }
            },
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy.CustomAction": {
            "additionalProperties": false,
            "properties": {
                "ActionDefinition": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition"
                },
                "ActionName": {
                    "type": "string"
                }
            },
            "required": [
                "ActionDefinition",
                "ActionName"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy.Dimension": {
            "additionalProperties": false,
            "properties": {
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Value"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": {
            "additionalProperties": false,
            "properties": {
                "StatefulRuleGroupReferences": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference"
                    },
                    "type": "array"
                },
                "StatelessCustomActions": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction"
                    },
                    "type": "array"
                },
                "StatelessDefaultActions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StatelessFragmentDefaultActions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StatelessRuleGroupReferences": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference"
                    },
                    "type": "array"
                }
            },
            "required": [
                "StatelessDefaultActions",
                "StatelessFragmentDefaultActions"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Dimensions"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": {
            "additionalProperties": false,
            "properties": {
                "ResourceArn": {
                    "type": "string"
                }
            },
            "required": [
                "ResourceArn"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": {
            "additionalProperties": false,
            "properties": {
                "Priority": {
                    "type": "number"
                },
                "ResourceArn": {
                    "type": "string"
                }
            },
            "required": [
                "Priority",
                "ResourceArn"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::LoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FirewallArn": {
                            "type": "string"
                        },
                        "FirewallName": {
                            "type": "string"
                        },
                        "LoggingConfiguration": {
                            "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration"
                        }
                    },
                    "required": [
                        "FirewallArn",
                        "LoggingConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkFirewall::LoggingConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": {
            "additionalProperties": false,
            "properties": {
                "LogDestination": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "LogDestinationType": {
                    "type": "string"
                },
                "LogType": {
                    "type": "string"
                }
            },
            "required": [
                "LogDestination",
                "LogDestinationType",
                "LogType"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LogDestinationConfigs": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig"
                    },
                    "type": "array"
                }
            },
            "required": [
                "LogDestinationConfigs"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Capacity": {
                            "type": "number"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "RuleGroup": {
                            "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup"
                        },
                        "RuleGroupName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Capacity",
                        "RuleGroupName",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkFirewall::RuleGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.ActionDefinition": {
            "additionalProperties": false,
            "properties": {
                "PublishMetricAction": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction"
                }
            },
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.Address": {
            "additionalProperties": false,
            "properties": {
                "AddressDefinition": {
                    "type": "string"
                }
            },
            "required": [
                "AddressDefinition"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.CustomAction": {
            "additionalProperties": false,
            "properties": {
                "ActionDefinition": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition"
                },
                "ActionName": {
                    "type": "string"
                }
            },
            "required": [
                "ActionDefinition",
                "ActionName"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.Dimension": {
            "additionalProperties": false,
            "properties": {
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Value"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.Header": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                },
                "DestinationPort": {
                    "type": "string"
                },
                "Direction": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "Source": {
                    "type": "string"
                },
                "SourcePort": {
                    "type": "string"
                }
            },
            "required": [
                "Destination",
                "DestinationPort",
                "Direction",
                "Protocol",
                "Source",
                "SourcePort"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.IPSet": {
            "additionalProperties": false,
            "properties": {
                "Definition": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.MatchAttributes": {
            "additionalProperties": false,
            "properties": {
                "DestinationPorts": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange"
                    },
                    "type": "array"
                },
                "Destinations": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address"
                    },
                    "type": "array"
                },
                "Protocols": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "SourcePorts": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange"
                    },
                    "type": "array"
                },
                "Sources": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address"
                    },
                    "type": "array"
                },
                "TCPFlags": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.PortRange": {
            "additionalProperties": false,
            "properties": {
                "FromPort": {
                    "type": "number"
                },
                "ToPort": {
                    "type": "number"
                }
            },
            "required": [
                "FromPort",
                "ToPort"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.PortSet": {
            "additionalProperties": false,
            "properties": {
                "Definition": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Dimensions"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.RuleDefinition": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MatchAttributes": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes"
                }
            },
            "required": [
                "Actions",
                "MatchAttributes"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.RuleGroup": {
            "additionalProperties": false,
            "properties": {
                "RuleVariables": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables"
                },
                "RulesSource": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource"
                }
            },
            "required": [
                "RulesSource"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.RuleOption": {
            "additionalProperties": false,
            "properties": {
                "Keyword": {
                    "type": "string"
                },
                "Settings": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Keyword"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.RuleVariables": {
            "additionalProperties": false,
            "properties": {
                "IPSets": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet"
                        }
                    },
                    "type": "object"
                },
                "PortSets": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.RulesSource": {
            "additionalProperties": false,
            "properties": {
                "RulesSourceList": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList"
                },
                "RulesString": {
                    "type": "string"
                },
                "StatefulRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule"
                    },
                    "type": "array"
                },
                "StatelessRulesAndCustomActions": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions"
                }
            },
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.RulesSourceList": {
            "additionalProperties": false,
            "properties": {
                "GeneratedRulesType": {
                    "type": "string"
                },
                "TargetTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Targets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "GeneratedRulesType",
                "TargetTypes",
                "Targets"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.StatefulRule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "Header": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header"
                },
                "RuleOptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Action",
                "Header",
                "RuleOptions"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.StatelessRule": {
            "additionalProperties": false,
            "properties": {
                "Priority": {
                    "type": "number"
                },
                "RuleDefinition": {
                    "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition"
                }
            },
            "required": [
                "Priority",
                "RuleDefinition"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": {
            "additionalProperties": false,
            "properties": {
                "CustomActions": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction"
                    },
                    "type": "array"
                },
                "StatelessRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "StatelessRules"
            ],
            "type": "object"
        },
        "AWS::NetworkFirewall::RuleGroup.TCPFlagField": {
            "additionalProperties": false,
            "properties": {
                "Flags": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Masks": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Flags"
            ],
            "type": "object"
        },
        "AWS::NetworkManager::CustomerGatewayAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CustomerGatewayArn": {
                            "type": "string"
                        },
                        "DeviceId": {
                            "type": "string"
                        },
                        "GlobalNetworkId": {
                            "type": "string"
                        },
                        "LinkId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CustomerGatewayArn",
                        "DeviceId",
                        "GlobalNetworkId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkManager::CustomerGatewayAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkManager::Device": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "GlobalNetworkId": {
                            "type": "string"
                        },
                        "Location": {
                            "$ref": "#/definitions/AWS::NetworkManager::Device.Location"
                        },
                        "Model": {
                            "type": "string"
                        },
                        "SerialNumber": {
                            "type": "string"
                        },
                        "SiteId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "Vendor": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GlobalNetworkId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkManager::Device"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkManager::Device.Location": {
            "additionalProperties": false,
            "properties": {
                "Address": {
                    "type": "string"
                },
                "Latitude": {
                    "type": "string"
                },
                "Longitude": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NetworkManager::GlobalNetwork": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkManager::GlobalNetwork"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::NetworkManager::Link": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Bandwidth": {
                            "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "GlobalNetworkId": {
                            "type": "string"
                        },
                        "Provider": {
                            "type": "string"
                        },
                        "SiteId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Bandwidth",
                        "GlobalNetworkId",
                        "SiteId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkManager::Link"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkManager::Link.Bandwidth": {
            "additionalProperties": false,
            "properties": {
                "DownloadSpeed": {
                    "type": "number"
                },
                "UploadSpeed": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::NetworkManager::LinkAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeviceId": {
                            "type": "string"
                        },
                        "GlobalNetworkId": {
                            "type": "string"
                        },
                        "LinkId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DeviceId",
                        "GlobalNetworkId",
                        "LinkId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkManager::LinkAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkManager::Site": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "GlobalNetworkId": {
                            "type": "string"
                        },
                        "Location": {
                            "$ref": "#/definitions/AWS::NetworkManager::Site.Location"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "GlobalNetworkId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkManager::Site"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NetworkManager::Site.Location": {
            "additionalProperties": false,
            "properties": {
                "Address": {
                    "type": "string"
                },
                "Latitude": {
                    "type": "string"
                },
                "Longitude": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NetworkManager::TransitGatewayRegistration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GlobalNetworkId": {
                            "type": "string"
                        },
                        "TransitGatewayArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "GlobalNetworkId",
                        "TransitGatewayArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NetworkManager::TransitGatewayRegistration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NimbleStudio::LaunchProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Ec2SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "LaunchProfileProtocolVersions": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "StreamConfiguration": {
                            "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration"
                        },
                        "StudioComponentIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "StudioId": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "Ec2SubnetIds",
                        "LaunchProfileProtocolVersions",
                        "Name",
                        "StreamConfiguration",
                        "StudioComponentIds",
                        "StudioId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NimbleStudio::LaunchProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ClipboardMode": {
                    "type": "string"
                },
                "Ec2InstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MaxSessionLengthInMinutes": {
                    "type": "number"
                },
                "StreamingImageIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ClipboardMode",
                "Ec2InstanceTypes",
                "StreamingImageIds"
            ],
            "type": "object"
        },
        "AWS::NimbleStudio::StreamingImage": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Ec2ImageId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "StudioId": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "Ec2ImageId",
                        "Name",
                        "StudioId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NimbleStudio::StreamingImage"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NimbleStudio::Studio": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdminRoleArn": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "StudioEncryptionConfiguration": {
                            "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration"
                        },
                        "StudioName": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "UserRoleArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AdminRoleArn",
                        "DisplayName",
                        "StudioName",
                        "UserRoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NimbleStudio::Studio"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KeyArn": {
                    "type": "string"
                },
                "KeyType": {
                    "type": "string"
                }
            },
            "required": [
                "KeyType"
            ],
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Configuration": {
                            "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Ec2SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "InitializationScripts": {
                            "items": {
                                "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ScriptParameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue"
                            },
                            "type": "array"
                        },
                        "StudioId": {
                            "type": "string"
                        },
                        "Subtype": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "StudioId",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::NimbleStudio::StudioComponent"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ComputerAttributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute"
                    },
                    "type": "array"
                },
                "DirectoryId": {
                    "type": "string"
                },
                "OrganizationalUnitDistinguishedName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ActiveDirectoryUser": {
                    "type": "string"
                },
                "Endpoint": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Endpoint": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Endpoint": {
                    "type": "string"
                },
                "FileSystemId": {
                    "type": "string"
                },
                "LinuxMountPoint": {
                    "type": "string"
                },
                "ShareName": {
                    "type": "string"
                },
                "WindowsMountDrive": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ActiveDirectoryConfiguration": {
                    "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration"
                },
                "ComputeFarmConfiguration": {
                    "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration"
                },
                "LicenseServiceConfiguration": {
                    "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration"
                },
                "SharedFileSystemConfiguration": {
                    "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": {
            "additionalProperties": false,
            "properties": {
                "LaunchProfileProtocolVersion": {
                    "type": "string"
                },
                "Platform": {
                    "type": "string"
                },
                "RunContext": {
                    "type": "string"
                },
                "Script": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::App": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppSource": {
                            "$ref": "#/definitions/AWS::OpsWorks::App.Source"
                        },
                        "Attributes": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "DataSources": {
                            "items": {
                                "$ref": "#/definitions/AWS::OpsWorks::App.DataSource"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Domains": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "EnableSsl": {
                            "type": "boolean"
                        },
                        "Environment": {
                            "items": {
                                "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Shortname": {
                            "type": "string"
                        },
                        "SslConfiguration": {
                            "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration"
                        },
                        "StackId": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "StackId",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorks::App"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::App.DataSource": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::App.EnvironmentVariable": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Secure": {
                    "type": "boolean"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::App.Source": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Revision": {
                    "type": "string"
                },
                "SshKey": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::App.SslConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Certificate": {
                    "type": "string"
                },
                "Chain": {
                    "type": "string"
                },
                "PrivateKey": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::ElasticLoadBalancerAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ElasticLoadBalancerName": {
                            "type": "string"
                        },
                        "LayerId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ElasticLoadBalancerName",
                        "LayerId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorks::ElasticLoadBalancerAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::Instance": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AgentVersion": {
                            "type": "string"
                        },
                        "AmiId": {
                            "type": "string"
                        },
                        "Architecture": {
                            "type": "string"
                        },
                        "AutoScalingType": {
                            "type": "string"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "BlockDeviceMappings": {
                            "items": {
                                "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping"
                            },
                            "type": "array"
                        },
                        "EbsOptimized": {
                            "type": "boolean"
                        },
                        "ElasticIps": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Hostname": {
                            "type": "string"
                        },
                        "InstallUpdatesOnBoot": {
                            "type": "boolean"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "LayerIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Os": {
                            "type": "string"
                        },
                        "RootDeviceType": {
                            "type": "string"
                        },
                        "SshKeyName": {
                            "type": "string"
                        },
                        "StackId": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tenancy": {
                            "type": "string"
                        },
                        "TimeBasedAutoScaling": {
                            "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling"
                        },
                        "VirtualizationType": {
                            "type": "string"
                        },
                        "Volumes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceType",
                        "LayerIds",
                        "StackId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorks::Instance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::Instance.BlockDeviceMapping": {
            "additionalProperties": false,
            "properties": {
                "DeviceName": {
                    "type": "string"
                },
                "Ebs": {
                    "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice"
                },
                "NoDevice": {
                    "type": "string"
                },
                "VirtualName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Instance.EbsBlockDevice": {
            "additionalProperties": false,
            "properties": {
                "DeleteOnTermination": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "SnapshotId": {
                    "type": "string"
                },
                "VolumeSize": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Instance.TimeBasedAutoScaling": {
            "additionalProperties": false,
            "properties": {
                "Friday": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Monday": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Saturday": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Sunday": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Thursday": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Tuesday": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Wednesday": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Layer": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Attributes": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "AutoAssignElasticIps": {
                            "type": "boolean"
                        },
                        "AutoAssignPublicIps": {
                            "type": "boolean"
                        },
                        "CustomInstanceProfileArn": {
                            "type": "string"
                        },
                        "CustomJson": {
                            "type": "object"
                        },
                        "CustomRecipes": {
                            "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes"
                        },
                        "CustomSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "EnableAutoHealing": {
                            "type": "boolean"
                        },
                        "InstallUpdatesOnBoot": {
                            "type": "boolean"
                        },
                        "LifecycleEventConfiguration": {
                            "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration"
                        },
                        "LoadBasedAutoScaling": {
                            "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Packages": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Shortname": {
                            "type": "string"
                        },
                        "StackId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "UseEbsOptimizedInstances": {
                            "type": "boolean"
                        },
                        "VolumeConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AutoAssignElasticIps",
                        "AutoAssignPublicIps",
                        "EnableAutoHealing",
                        "Name",
                        "Shortname",
                        "StackId",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorks::Layer"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::Layer.AutoScalingThresholds": {
            "additionalProperties": false,
            "properties": {
                "CpuThreshold": {
                    "type": "number"
                },
                "IgnoreMetricsTime": {
                    "type": "number"
                },
                "InstanceCount": {
                    "type": "number"
                },
                "LoadThreshold": {
                    "type": "number"
                },
                "MemoryThreshold": {
                    "type": "number"
                },
                "ThresholdsWaitTime": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Layer.LifecycleEventConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ShutdownEventConfiguration": {
                    "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Layer.LoadBasedAutoScaling": {
            "additionalProperties": false,
            "properties": {
                "DownScaling": {
                    "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds"
                },
                "Enable": {
                    "type": "boolean"
                },
                "UpScaling": {
                    "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Layer.Recipes": {
            "additionalProperties": false,
            "properties": {
                "Configure": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Deploy": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Setup": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Shutdown": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Undeploy": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Layer.ShutdownEventConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DelayUntilElbConnectionsDrained": {
                    "type": "boolean"
                },
                "ExecutionTimeout": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Layer.VolumeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Encrypted": {
                    "type": "boolean"
                },
                "Iops": {
                    "type": "number"
                },
                "MountPoint": {
                    "type": "string"
                },
                "NumberOfDisks": {
                    "type": "number"
                },
                "RaidLevel": {
                    "type": "number"
                },
                "Size": {
                    "type": "number"
                },
                "VolumeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Stack": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AgentVersion": {
                            "type": "string"
                        },
                        "Attributes": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "ChefConfiguration": {
                            "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration"
                        },
                        "CloneAppIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ClonePermissions": {
                            "type": "boolean"
                        },
                        "ConfigurationManager": {
                            "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager"
                        },
                        "CustomCookbooksSource": {
                            "$ref": "#/definitions/AWS::OpsWorks::Stack.Source"
                        },
                        "CustomJson": {
                            "type": "object"
                        },
                        "DefaultAvailabilityZone": {
                            "type": "string"
                        },
                        "DefaultInstanceProfileArn": {
                            "type": "string"
                        },
                        "DefaultOs": {
                            "type": "string"
                        },
                        "DefaultRootDeviceType": {
                            "type": "string"
                        },
                        "DefaultSshKeyName": {
                            "type": "string"
                        },
                        "DefaultSubnetId": {
                            "type": "string"
                        },
                        "EcsClusterArn": {
                            "type": "string"
                        },
                        "ElasticIps": {
                            "items": {
                                "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp"
                            },
                            "type": "array"
                        },
                        "HostnameTheme": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RdsDbInstances": {
                            "items": {
                                "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance"
                            },
                            "type": "array"
                        },
                        "ServiceRoleArn": {
                            "type": "string"
                        },
                        "SourceStackId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UseCustomCookbooks": {
                            "type": "boolean"
                        },
                        "UseOpsworksSecurityGroups": {
                            "type": "boolean"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DefaultInstanceProfileArn",
                        "Name",
                        "ServiceRoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorks::Stack"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::Stack.ChefConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BerkshelfVersion": {
                    "type": "string"
                },
                "ManageBerkshelf": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Stack.ElasticIp": {
            "additionalProperties": false,
            "properties": {
                "Ip": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Ip"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::Stack.RdsDbInstance": {
            "additionalProperties": false,
            "properties": {
                "DbPassword": {
                    "type": "string"
                },
                "DbUser": {
                    "type": "string"
                },
                "RdsDbInstanceArn": {
                    "type": "string"
                }
            },
            "required": [
                "DbPassword",
                "DbUser",
                "RdsDbInstanceArn"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::Stack.Source": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Revision": {
                    "type": "string"
                },
                "SshKey": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::Stack.StackConfigurationManager": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::OpsWorks::UserProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowSelfManagement": {
                            "type": "boolean"
                        },
                        "IamUserArn": {
                            "type": "string"
                        },
                        "SshPublicKey": {
                            "type": "string"
                        },
                        "SshUsername": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "IamUserArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorks::UserProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorks::Volume": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Ec2VolumeId": {
                            "type": "string"
                        },
                        "MountPoint": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "StackId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Ec2VolumeId",
                        "StackId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorks::Volume"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorksCM::Server": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssociatePublicIpAddress": {
                            "type": "boolean"
                        },
                        "BackupId": {
                            "type": "string"
                        },
                        "BackupRetentionCount": {
                            "type": "number"
                        },
                        "CustomCertificate": {
                            "type": "string"
                        },
                        "CustomDomain": {
                            "type": "string"
                        },
                        "CustomPrivateKey": {
                            "type": "string"
                        },
                        "DisableAutomatedBackup": {
                            "type": "boolean"
                        },
                        "Engine": {
                            "type": "string"
                        },
                        "EngineAttributes": {
                            "items": {
                                "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute"
                            },
                            "type": "array"
                        },
                        "EngineModel": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "InstanceProfileArn": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "KeyPair": {
                            "type": "string"
                        },
                        "PreferredBackupWindow": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ServerName": {
                            "type": "string"
                        },
                        "ServiceRoleArn": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceProfileArn",
                        "InstanceType",
                        "ServiceRoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::OpsWorksCM::Server"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::OpsWorksCM::Server.EngineAttribute": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::ADMChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "ClientId": {
                            "type": "string"
                        },
                        "ClientSecret": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "ClientId",
                        "ClientSecret"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::ADMChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::APNSChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "BundleId": {
                            "type": "string"
                        },
                        "Certificate": {
                            "type": "string"
                        },
                        "DefaultAuthenticationMethod": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "PrivateKey": {
                            "type": "string"
                        },
                        "TeamId": {
                            "type": "string"
                        },
                        "TokenKey": {
                            "type": "string"
                        },
                        "TokenKeyId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::APNSChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::APNSSandboxChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "BundleId": {
                            "type": "string"
                        },
                        "Certificate": {
                            "type": "string"
                        },
                        "DefaultAuthenticationMethod": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "PrivateKey": {
                            "type": "string"
                        },
                        "TeamId": {
                            "type": "string"
                        },
                        "TokenKey": {
                            "type": "string"
                        },
                        "TokenKeyId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::APNSSandboxChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::APNSVoipChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "BundleId": {
                            "type": "string"
                        },
                        "Certificate": {
                            "type": "string"
                        },
                        "DefaultAuthenticationMethod": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "PrivateKey": {
                            "type": "string"
                        },
                        "TeamId": {
                            "type": "string"
                        },
                        "TokenKey": {
                            "type": "string"
                        },
                        "TokenKeyId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::APNSVoipChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::APNSVoipSandboxChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "BundleId": {
                            "type": "string"
                        },
                        "Certificate": {
                            "type": "string"
                        },
                        "DefaultAuthenticationMethod": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "PrivateKey": {
                            "type": "string"
                        },
                        "TeamId": {
                            "type": "string"
                        },
                        "TokenKey": {
                            "type": "string"
                        },
                        "TokenKeyId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::APNSVoipSandboxChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::App": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::App"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::ApplicationSettings": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "CampaignHook": {
                            "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook"
                        },
                        "CloudWatchMetricsEnabled": {
                            "type": "boolean"
                        },
                        "Limits": {
                            "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits"
                        },
                        "QuietTime": {
                            "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime"
                        }
                    },
                    "required": [
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::ApplicationSettings"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::ApplicationSettings.CampaignHook": {
            "additionalProperties": false,
            "properties": {
                "LambdaFunctionName": {
                    "type": "string"
                },
                "Mode": {
                    "type": "string"
                },
                "WebUrl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::ApplicationSettings.Limits": {
            "additionalProperties": false,
            "properties": {
                "Daily": {
                    "type": "number"
                },
                "MaximumDuration": {
                    "type": "number"
                },
                "MessagesPerSecond": {
                    "type": "number"
                },
                "Total": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::ApplicationSettings.QuietTime": {
            "additionalProperties": false,
            "properties": {
                "End": {
                    "type": "string"
                },
                "Start": {
                    "type": "string"
                }
            },
            "required": [
                "End",
                "Start"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::BaiduChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiKey": {
                            "type": "string"
                        },
                        "ApplicationId": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "SecretKey": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiKey",
                        "ApplicationId",
                        "SecretKey"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::BaiduChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Campaign": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdditionalTreatments": {
                            "items": {
                                "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource"
                            },
                            "type": "array"
                        },
                        "ApplicationId": {
                            "type": "string"
                        },
                        "CampaignHook": {
                            "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "HoldoutPercent": {
                            "type": "number"
                        },
                        "IsPaused": {
                            "type": "boolean"
                        },
                        "Limits": {
                            "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits"
                        },
                        "MessageConfiguration": {
                            "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Schedule": {
                            "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule"
                        },
                        "SegmentId": {
                            "type": "string"
                        },
                        "SegmentVersion": {
                            "type": "number"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "TreatmentDescription": {
                            "type": "string"
                        },
                        "TreatmentName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "MessageConfiguration",
                        "Name",
                        "Schedule",
                        "SegmentId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::Campaign"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.AttributeDimension": {
            "additionalProperties": false,
            "properties": {
                "AttributeType": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.CampaignEmailMessage": {
            "additionalProperties": false,
            "properties": {
                "Body": {
                    "type": "string"
                },
                "FromAddress": {
                    "type": "string"
                },
                "HtmlBody": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.CampaignEventFilter": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions"
                },
                "FilterType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.CampaignHook": {
            "additionalProperties": false,
            "properties": {
                "LambdaFunctionName": {
                    "type": "string"
                },
                "Mode": {
                    "type": "string"
                },
                "WebUrl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.CampaignSmsMessage": {
            "additionalProperties": false,
            "properties": {
                "Body": {
                    "type": "string"
                },
                "EntityId": {
                    "type": "string"
                },
                "MessageType": {
                    "type": "string"
                },
                "OriginationNumber": {
                    "type": "string"
                },
                "SenderId": {
                    "type": "string"
                },
                "TemplateId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.EventDimensions": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "type": "object"
                },
                "EventType": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension"
                },
                "Metrics": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.Limits": {
            "additionalProperties": false,
            "properties": {
                "Daily": {
                    "type": "number"
                },
                "MaximumDuration": {
                    "type": "number"
                },
                "MessagesPerSecond": {
                    "type": "number"
                },
                "Total": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.Message": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "Body": {
                    "type": "string"
                },
                "ImageIconUrl": {
                    "type": "string"
                },
                "ImageSmallIconUrl": {
                    "type": "string"
                },
                "ImageUrl": {
                    "type": "string"
                },
                "JsonBody": {
                    "type": "string"
                },
                "MediaUrl": {
                    "type": "string"
                },
                "RawContent": {
                    "type": "string"
                },
                "SilentPush": {
                    "type": "boolean"
                },
                "TimeToLive": {
                    "type": "number"
                },
                "Title": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.MessageConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ADMMessage": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message"
                },
                "APNSMessage": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message"
                },
                "BaiduMessage": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message"
                },
                "DefaultMessage": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message"
                },
                "EmailMessage": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage"
                },
                "GCMMessage": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message"
                },
                "SMSMessage": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.QuietTime": {
            "additionalProperties": false,
            "properties": {
                "End": {
                    "type": "string"
                },
                "Start": {
                    "type": "string"
                }
            },
            "required": [
                "End",
                "Start"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.Schedule": {
            "additionalProperties": false,
            "properties": {
                "EndTime": {
                    "type": "string"
                },
                "EventFilter": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter"
                },
                "Frequency": {
                    "type": "string"
                },
                "IsLocalTime": {
                    "type": "boolean"
                },
                "QuietTime": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime"
                },
                "StartTime": {
                    "type": "string"
                },
                "TimeZone": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.SetDimension": {
            "additionalProperties": false,
            "properties": {
                "DimensionType": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Campaign.WriteTreatmentResource": {
            "additionalProperties": false,
            "properties": {
                "MessageConfiguration": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration"
                },
                "Schedule": {
                    "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule"
                },
                "SizePercent": {
                    "type": "number"
                },
                "TreatmentDescription": {
                    "type": "string"
                },
                "TreatmentName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::EmailChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "ConfigurationSet": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "FromAddress": {
                            "type": "string"
                        },
                        "Identity": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "FromAddress",
                        "Identity"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::EmailChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::EmailTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultSubstitutions": {
                            "type": "string"
                        },
                        "HtmlPart": {
                            "type": "string"
                        },
                        "Subject": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "TemplateDescription": {
                            "type": "string"
                        },
                        "TemplateName": {
                            "type": "string"
                        },
                        "TextPart": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Subject",
                        "TemplateName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::EmailTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::EventStream": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "DestinationStreamArn": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "DestinationStreamArn",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::EventStream"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::GCMChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApiKey": {
                            "type": "string"
                        },
                        "ApplicationId": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "ApiKey",
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::GCMChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::PushTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ADM": {
                            "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate"
                        },
                        "APNS": {
                            "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate"
                        },
                        "Baidu": {
                            "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate"
                        },
                        "Default": {
                            "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate"
                        },
                        "DefaultSubstitutions": {
                            "type": "string"
                        },
                        "GCM": {
                            "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "TemplateDescription": {
                            "type": "string"
                        },
                        "TemplateName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "TemplateName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::PushTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "Body": {
                    "type": "string"
                },
                "MediaUrl": {
                    "type": "string"
                },
                "Sound": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "Body": {
                    "type": "string"
                },
                "ImageIconUrl": {
                    "type": "string"
                },
                "ImageUrl": {
                    "type": "string"
                },
                "SmallImageIconUrl": {
                    "type": "string"
                },
                "Sound": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "Body": {
                    "type": "string"
                },
                "Sound": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::SMSChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        },
                        "SenderId": {
                            "type": "string"
                        },
                        "ShortCode": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::SMSChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Segment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "Dimensions": {
                            "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "SegmentGroups": {
                            "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "ApplicationId",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::Segment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Segment.AttributeDimension": {
            "additionalProperties": false,
            "properties": {
                "AttributeType": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.Behavior": {
            "additionalProperties": false,
            "properties": {
                "Recency": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.Coordinates": {
            "additionalProperties": false,
            "properties": {
                "Latitude": {
                    "type": "number"
                },
                "Longitude": {
                    "type": "number"
                }
            },
            "required": [
                "Latitude",
                "Longitude"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Segment.Demographic": {
            "additionalProperties": false,
            "properties": {
                "AppVersion": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension"
                },
                "Channel": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension"
                },
                "DeviceType": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension"
                },
                "Make": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension"
                },
                "Model": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension"
                },
                "Platform": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.GPSPoint": {
            "additionalProperties": false,
            "properties": {
                "Coordinates": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates"
                },
                "RangeInKilometers": {
                    "type": "number"
                }
            },
            "required": [
                "Coordinates",
                "RangeInKilometers"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Segment.Groups": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions"
                    },
                    "type": "array"
                },
                "SourceSegments": {
                    "items": {
                        "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments"
                    },
                    "type": "array"
                },
                "SourceType": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.Location": {
            "additionalProperties": false,
            "properties": {
                "Country": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension"
                },
                "GPSPoint": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.Recency": {
            "additionalProperties": false,
            "properties": {
                "Duration": {
                    "type": "string"
                },
                "RecencyType": {
                    "type": "string"
                }
            },
            "required": [
                "Duration",
                "RecencyType"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::Segment.SegmentDimensions": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "type": "object"
                },
                "Behavior": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior"
                },
                "Demographic": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic"
                },
                "Location": {
                    "$ref": "#/definitions/AWS::Pinpoint::Segment.Location"
                },
                "Metrics": {
                    "type": "object"
                },
                "UserAttributes": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.SegmentGroups": {
            "additionalProperties": false,
            "properties": {
                "Groups": {
                    "items": {
                        "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups"
                    },
                    "type": "array"
                },
                "Include": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.SetDimension": {
            "additionalProperties": false,
            "properties": {
                "DimensionType": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Pinpoint::Segment.SourceSegments": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Version": {
                    "type": "number"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::SmsTemplate": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Body": {
                            "type": "string"
                        },
                        "DefaultSubstitutions": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "TemplateDescription": {
                            "type": "string"
                        },
                        "TemplateName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Body",
                        "TemplateName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::SmsTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Pinpoint::VoiceChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationId": {
                            "type": "string"
                        },
                        "Enabled": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "ApplicationId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Pinpoint::VoiceChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeliveryOptions": {
                            "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ReputationOptions": {
                            "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions"
                        },
                        "SendingOptions": {
                            "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags"
                            },
                            "type": "array"
                        },
                        "TrackingOptions": {
                            "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::PinpointEmail::ConfigurationSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": {
            "additionalProperties": false,
            "properties": {
                "SendingPoolName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": {
            "additionalProperties": false,
            "properties": {
                "ReputationMetricsEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSet.SendingOptions": {
            "additionalProperties": false,
            "properties": {
                "SendingEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSet.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": {
            "additionalProperties": false,
            "properties": {
                "CustomRedirectDomain": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSetEventDestination": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConfigurationSetName": {
                            "type": "string"
                        },
                        "EventDestination": {
                            "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination"
                        },
                        "EventDestinationName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConfigurationSetName",
                        "EventDestinationName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::PinpointEmail::ConfigurationSetEventDestination"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": {
            "additionalProperties": false,
            "properties": {
                "DimensionConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DefaultDimensionValue": {
                    "type": "string"
                },
                "DimensionName": {
                    "type": "string"
                },
                "DimensionValueSource": {
                    "type": "string"
                }
            },
            "required": [
                "DefaultDimensionValue",
                "DimensionName",
                "DimensionValueSource"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchDestination": {
                    "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "KinesisFirehoseDestination": {
                    "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination"
                },
                "MatchingEventTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "PinpointDestination": {
                    "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination"
                },
                "SnsDestination": {
                    "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination"
                }
            },
            "required": [
                "MatchingEventTypes"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": {
            "additionalProperties": false,
            "properties": {
                "DeliveryStreamArn": {
                    "type": "string"
                },
                "IamRoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "DeliveryStreamArn",
                "IamRoleArn"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": {
            "additionalProperties": false,
            "properties": {
                "ApplicationArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": {
            "additionalProperties": false,
            "properties": {
                "TopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "TopicArn"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::DedicatedIpPool": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PoolName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::PinpointEmail::DedicatedIpPool"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::DedicatedIpPool.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::Identity": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DkimSigningEnabled": {
                            "type": "boolean"
                        },
                        "FeedbackForwardingEnabled": {
                            "type": "boolean"
                        },
                        "MailFromAttributes": {
                            "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::PinpointEmail::Identity"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::PinpointEmail::Identity.MailFromAttributes": {
            "additionalProperties": false,
            "properties": {
                "BehaviorOnMxFailure": {
                    "type": "string"
                },
                "MailFromDomain": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::PinpointEmail::Identity.Tags": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QLDB::Ledger": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeletionProtection": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "PermissionsMode": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PermissionsMode"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QLDB::Ledger"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::QLDB::Stream": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExclusiveEndTime": {
                            "type": "string"
                        },
                        "InclusiveStartTime": {
                            "type": "string"
                        },
                        "KinesisConfiguration": {
                            "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration"
                        },
                        "LedgerName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StreamName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InclusiveStartTime",
                        "KinesisConfiguration",
                        "LedgerName",
                        "RoleArn",
                        "StreamName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QLDB::Stream"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::QLDB::Stream.KinesisConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AggregationEnabled": {
                    "type": "boolean"
                },
                "StreamArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Analysis": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AnalysisId": {
                            "type": "string"
                        },
                        "AwsAccountId": {
                            "type": "string"
                        },
                        "Errors": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters"
                        },
                        "Permissions": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission"
                            },
                            "type": "array"
                        },
                        "SourceEntity": {
                            "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ThemeArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AnalysisId",
                        "AwsAccountId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QuickSight::Analysis"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Analysis.AnalysisError": {
            "additionalProperties": false,
            "properties": {
                "Message": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Analysis.AnalysisSourceEntity": {
            "additionalProperties": false,
            "properties": {
                "SourceTemplate": {
                    "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Analysis.AnalysisSourceTemplate": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "DataSetReferences": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Arn",
                "DataSetReferences"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Analysis.DataSetReference": {
            "additionalProperties": false,
            "properties": {
                "DataSetArn": {
                    "type": "string"
                },
                "DataSetPlaceholder": {
                    "type": "string"
                }
            },
            "required": [
                "DataSetArn",
                "DataSetPlaceholder"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Analysis.DateTimeParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Analysis.DecimalParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Analysis.IntegerParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Analysis.Parameters": {
            "additionalProperties": false,
            "properties": {
                "DateTimeParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter"
                    },
                    "type": "array"
                },
                "DecimalParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter"
                    },
                    "type": "array"
                },
                "IntegerParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter"
                    },
                    "type": "array"
                },
                "StringParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Analysis.ResourcePermission": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Principal": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Principal"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Analysis.Sheet": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "SheetId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Analysis.StringParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AwsAccountId": {
                            "type": "string"
                        },
                        "DashboardId": {
                            "type": "string"
                        },
                        "DashboardPublishOptions": {
                            "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters"
                        },
                        "Permissions": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission"
                            },
                            "type": "array"
                        },
                        "SourceEntity": {
                            "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ThemeArn": {
                            "type": "string"
                        },
                        "VersionDescription": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AwsAccountId",
                        "DashboardId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QuickSight::Dashboard"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.AdHocFilteringOption": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityStatus": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.DashboardPublishOptions": {
            "additionalProperties": false,
            "properties": {
                "AdHocFilteringOption": {
                    "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption"
                },
                "ExportToCSVOption": {
                    "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption"
                },
                "SheetControlsOption": {
                    "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.DashboardSourceEntity": {
            "additionalProperties": false,
            "properties": {
                "SourceTemplate": {
                    "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.DashboardSourceTemplate": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "DataSetReferences": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Arn",
                "DataSetReferences"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.DataSetReference": {
            "additionalProperties": false,
            "properties": {
                "DataSetArn": {
                    "type": "string"
                },
                "DataSetPlaceholder": {
                    "type": "string"
                }
            },
            "required": [
                "DataSetArn",
                "DataSetPlaceholder"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.DateTimeParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.DecimalParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.ExportToCSVOption": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityStatus": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.IntegerParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.Parameters": {
            "additionalProperties": false,
            "properties": {
                "DateTimeParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter"
                    },
                    "type": "array"
                },
                "DecimalParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter"
                    },
                    "type": "array"
                },
                "IntegerParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter"
                    },
                    "type": "array"
                },
                "StringParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.ResourcePermission": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Principal": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Principal"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.SheetControlsOption": {
            "additionalProperties": false,
            "properties": {
                "VisibilityState": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Dashboard.StringParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Name",
                "Values"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AwsAccountId": {
                            "type": "string"
                        },
                        "ColumnGroups": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup"
                            },
                            "type": "array"
                        },
                        "ColumnLevelPermissionRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule"
                            },
                            "type": "array"
                        },
                        "DataSetId": {
                            "type": "string"
                        },
                        "FieldFolders": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder"
                                }
                            },
                            "type": "object"
                        },
                        "ImportMode": {
                            "type": "string"
                        },
                        "IngestionWaitPolicy": {
                            "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy"
                        },
                        "LogicalTableMap": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable"
                                }
                            },
                            "type": "object"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Permissions": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission"
                            },
                            "type": "array"
                        },
                        "PhysicalTableMap": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable"
                                }
                            },
                            "type": "object"
                        },
                        "RowLevelPermissionDataSet": {
                            "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QuickSight::DataSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.CalculatedColumn": {
            "additionalProperties": false,
            "properties": {
                "ColumnId": {
                    "type": "string"
                },
                "ColumnName": {
                    "type": "string"
                },
                "Expression": {
                    "type": "string"
                }
            },
            "required": [
                "ColumnId",
                "ColumnName",
                "Expression"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.CastColumnTypeOperation": {
            "additionalProperties": false,
            "properties": {
                "ColumnName": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                },
                "NewColumnType": {
                    "type": "string"
                }
            },
            "required": [
                "ColumnName",
                "NewColumnType"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.ColumnDescription": {
            "additionalProperties": false,
            "properties": {
                "Text": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.ColumnGroup": {
            "additionalProperties": false,
            "properties": {
                "GeoSpatialColumnGroup": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": {
            "additionalProperties": false,
            "properties": {
                "ColumnNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Principals": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.ColumnTag": {
            "additionalProperties": false,
            "properties": {
                "ColumnDescription": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription"
                },
                "ColumnGeographicRole": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.CreateColumnsOperation": {
            "additionalProperties": false,
            "properties": {
                "Columns": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Columns"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.CustomSql": {
            "additionalProperties": false,
            "properties": {
                "Columns": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn"
                    },
                    "type": "array"
                },
                "DataSourceArn": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "SqlQuery": {
                    "type": "string"
                }
            },
            "required": [
                "Columns",
                "DataSourceArn",
                "Name",
                "SqlQuery"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.FieldFolder": {
            "additionalProperties": false,
            "properties": {
                "Columns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Description": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.FilterOperation": {
            "additionalProperties": false,
            "properties": {
                "ConditionExpression": {
                    "type": "string"
                }
            },
            "required": [
                "ConditionExpression"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": {
            "additionalProperties": false,
            "properties": {
                "Columns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CountryCode": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Columns",
                "Name"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.IngestionWaitPolicy": {
            "additionalProperties": false,
            "properties": {
                "IngestionWaitTimeInHours": {
                    "type": "number"
                },
                "WaitForSpiceIngestion": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.InputColumn": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.JoinInstruction": {
            "additionalProperties": false,
            "properties": {
                "LeftJoinKeyProperties": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties"
                },
                "LeftOperand": {
                    "type": "string"
                },
                "OnClause": {
                    "type": "string"
                },
                "RightJoinKeyProperties": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties"
                },
                "RightOperand": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "LeftOperand",
                "OnClause",
                "RightOperand",
                "Type"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.JoinKeyProperties": {
            "additionalProperties": false,
            "properties": {
                "UniqueKey": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.LogicalTable": {
            "additionalProperties": false,
            "properties": {
                "Alias": {
                    "type": "string"
                },
                "DataTransforms": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation"
                    },
                    "type": "array"
                },
                "Source": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource"
                }
            },
            "required": [
                "Alias",
                "Source"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.LogicalTableSource": {
            "additionalProperties": false,
            "properties": {
                "JoinInstruction": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction"
                },
                "PhysicalTableId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.OutputColumn": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.PhysicalTable": {
            "additionalProperties": false,
            "properties": {
                "CustomSql": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql"
                },
                "RelationalTable": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable"
                },
                "S3Source": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.ProjectOperation": {
            "additionalProperties": false,
            "properties": {
                "ProjectedColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ProjectedColumns"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.RelationalTable": {
            "additionalProperties": false,
            "properties": {
                "Catalog": {
                    "type": "string"
                },
                "DataSourceArn": {
                    "type": "string"
                },
                "InputColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "Schema": {
                    "type": "string"
                }
            },
            "required": [
                "DataSourceArn",
                "InputColumns",
                "Name"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.RenameColumnOperation": {
            "additionalProperties": false,
            "properties": {
                "ColumnName": {
                    "type": "string"
                },
                "NewColumnName": {
                    "type": "string"
                }
            },
            "required": [
                "ColumnName",
                "NewColumnName"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.ResourcePermission": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Principal": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Principal"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "PermissionPolicy": {
                    "type": "string"
                }
            },
            "required": [
                "Arn",
                "PermissionPolicy"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.S3Source": {
            "additionalProperties": false,
            "properties": {
                "DataSourceArn": {
                    "type": "string"
                },
                "InputColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn"
                    },
                    "type": "array"
                },
                "UploadSettings": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings"
                }
            },
            "required": [
                "DataSourceArn",
                "InputColumns"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.TagColumnOperation": {
            "additionalProperties": false,
            "properties": {
                "ColumnName": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ColumnName",
                "Tags"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSet.TransformOperation": {
            "additionalProperties": false,
            "properties": {
                "CastColumnTypeOperation": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation"
                },
                "CreateColumnsOperation": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation"
                },
                "FilterOperation": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation"
                },
                "ProjectOperation": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation"
                },
                "RenameColumnOperation": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation"
                },
                "TagColumnOperation": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSet.UploadSettings": {
            "additionalProperties": false,
            "properties": {
                "ContainsHeader": {
                    "type": "boolean"
                },
                "Delimiter": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                },
                "StartFromRow": {
                    "type": "number"
                },
                "TextQualifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSource": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AlternateDataSourceParameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters"
                            },
                            "type": "array"
                        },
                        "AwsAccountId": {
                            "type": "string"
                        },
                        "Credentials": {
                            "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials"
                        },
                        "DataSourceId": {
                            "type": "string"
                        },
                        "DataSourceParameters": {
                            "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters"
                        },
                        "ErrorInfo": {
                            "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Permissions": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission"
                            },
                            "type": "array"
                        },
                        "SslProperties": {
                            "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "VpcConnectionProperties": {
                            "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QuickSight::DataSource"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": {
            "additionalProperties": false,
            "properties": {
                "Domain": {
                    "type": "string"
                }
            },
            "required": [
                "Domain"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.AthenaParameters": {
            "additionalProperties": false,
            "properties": {
                "WorkGroup": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSource.AuroraParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.CredentialPair": {
            "additionalProperties": false,
            "properties": {
                "AlternateDataSourceParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters"
                    },
                    "type": "array"
                },
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.DataSourceCredentials": {
            "additionalProperties": false,
            "properties": {
                "CopySourceArn": {
                    "type": "string"
                },
                "CredentialPair": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSource.DataSourceErrorInfo": {
            "additionalProperties": false,
            "properties": {
                "Message": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSource.DataSourceParameters": {
            "additionalProperties": false,
            "properties": {
                "AmazonElasticsearchParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters"
                },
                "AthenaParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters"
                },
                "AuroraParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters"
                },
                "AuroraPostgreSqlParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters"
                },
                "MariaDbParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters"
                },
                "MySqlParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters"
                },
                "OracleParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters"
                },
                "PostgreSqlParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters"
                },
                "PrestoParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters"
                },
                "RdsParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters"
                },
                "RedshiftParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters"
                },
                "S3Parameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters"
                },
                "SnowflakeParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters"
                },
                "SparkParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters"
                },
                "SqlServerParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters"
                },
                "TeradataParameters": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSource.ManifestFileLocation": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.MariaDbParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.MySqlParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.OracleParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.PostgreSqlParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.PrestoParameters": {
            "additionalProperties": false,
            "properties": {
                "Catalog": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Catalog",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.RdsParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "InstanceId": {
                    "type": "string"
                }
            },
            "required": [
                "Database",
                "InstanceId"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.RedshiftParameters": {
            "additionalProperties": false,
            "properties": {
                "ClusterId": {
                    "type": "string"
                },
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.ResourcePermission": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Principal": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Principal"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.S3Parameters": {
            "additionalProperties": false,
            "properties": {
                "ManifestFileLocation": {
                    "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation"
                }
            },
            "required": [
                "ManifestFileLocation"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.SnowflakeParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Warehouse": {
                    "type": "string"
                }
            },
            "required": [
                "Database",
                "Host",
                "Warehouse"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.SparkParameters": {
            "additionalProperties": false,
            "properties": {
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.SqlServerParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.SslProperties": {
            "additionalProperties": false,
            "properties": {
                "DisableSsl": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::DataSource.TeradataParameters": {
            "additionalProperties": false,
            "properties": {
                "Database": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Database",
                "Host",
                "Port"
            ],
            "type": "object"
        },
        "AWS::QuickSight::DataSource.VpcConnectionProperties": {
            "additionalProperties": false,
            "properties": {
                "VpcConnectionArn": {
                    "type": "string"
                }
            },
            "required": [
                "VpcConnectionArn"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Template": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AwsAccountId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Permissions": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission"
                            },
                            "type": "array"
                        },
                        "SourceEntity": {
                            "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TemplateId": {
                            "type": "string"
                        },
                        "VersionDescription": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AwsAccountId",
                        "TemplateId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QuickSight::Template"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Template.DataSetReference": {
            "additionalProperties": false,
            "properties": {
                "DataSetArn": {
                    "type": "string"
                },
                "DataSetPlaceholder": {
                    "type": "string"
                }
            },
            "required": [
                "DataSetArn",
                "DataSetPlaceholder"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Template.ResourcePermission": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Principal": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Principal"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Template.TemplateSourceAnalysis": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "DataSetReferences": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Arn",
                "DataSetReferences"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Template.TemplateSourceEntity": {
            "additionalProperties": false,
            "properties": {
                "SourceAnalysis": {
                    "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis"
                },
                "SourceTemplate": {
                    "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Template.TemplateSourceTemplate": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                }
            },
            "required": [
                "Arn"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Theme": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AwsAccountId": {
                            "type": "string"
                        },
                        "BaseThemeId": {
                            "type": "string"
                        },
                        "Configuration": {
                            "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Permissions": {
                            "items": {
                                "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ThemeId": {
                            "type": "string"
                        },
                        "VersionDescription": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AwsAccountId",
                        "ThemeId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::QuickSight::Theme"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Theme.BorderStyle": {
            "additionalProperties": false,
            "properties": {
                "Show": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.DataColorPalette": {
            "additionalProperties": false,
            "properties": {
                "Colors": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "EmptyFillColor": {
                    "type": "string"
                },
                "MinMaxGradient": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.Font": {
            "additionalProperties": false,
            "properties": {
                "FontFamily": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.GutterStyle": {
            "additionalProperties": false,
            "properties": {
                "Show": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.MarginStyle": {
            "additionalProperties": false,
            "properties": {
                "Show": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.ResourcePermission": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Principal": {
                    "type": "string"
                }
            },
            "required": [
                "Actions",
                "Principal"
            ],
            "type": "object"
        },
        "AWS::QuickSight::Theme.SheetStyle": {
            "additionalProperties": false,
            "properties": {
                "Tile": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle"
                },
                "TileLayout": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.ThemeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DataColorPalette": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette"
                },
                "Sheet": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle"
                },
                "Typography": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.Typography"
                },
                "UIColorPalette": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.TileLayoutStyle": {
            "additionalProperties": false,
            "properties": {
                "Gutter": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle"
                },
                "Margin": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.TileStyle": {
            "additionalProperties": false,
            "properties": {
                "Border": {
                    "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.Typography": {
            "additionalProperties": false,
            "properties": {
                "FontFamilies": {
                    "items": {
                        "$ref": "#/definitions/AWS::QuickSight::Theme.Font"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::QuickSight::Theme.UIColorPalette": {
            "additionalProperties": false,
            "properties": {
                "Accent": {
                    "type": "string"
                },
                "AccentForeground": {
                    "type": "string"
                },
                "Danger": {
                    "type": "string"
                },
                "DangerForeground": {
                    "type": "string"
                },
                "Dimension": {
                    "type": "string"
                },
                "DimensionForeground": {
                    "type": "string"
                },
                "Measure": {
                    "type": "string"
                },
                "MeasureForeground": {
                    "type": "string"
                },
                "PrimaryBackground": {
                    "type": "string"
                },
                "PrimaryForeground": {
                    "type": "string"
                },
                "SecondaryBackground": {
                    "type": "string"
                },
                "SecondaryForeground": {
                    "type": "string"
                },
                "Success": {
                    "type": "string"
                },
                "SuccessForeground": {
                    "type": "string"
                },
                "Warning": {
                    "type": "string"
                },
                "WarningForeground": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::RAM::ResourceShare": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowExternalPrincipals": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Principals": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ResourceArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RAM::ResourceShare"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBCluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssociatedRoles": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole"
                            },
                            "type": "array"
                        },
                        "AvailabilityZones": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "BacktrackWindow": {
                            "type": "number"
                        },
                        "BackupRetentionPeriod": {
                            "type": "number"
                        },
                        "DBClusterIdentifier": {
                            "type": "string"
                        },
                        "DBClusterParameterGroupName": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "DatabaseName": {
                            "type": "string"
                        },
                        "DeletionProtection": {
                            "type": "boolean"
                        },
                        "EnableCloudwatchLogsExports": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "EnableHttpEndpoint": {
                            "type": "boolean"
                        },
                        "EnableIAMDatabaseAuthentication": {
                            "type": "boolean"
                        },
                        "Engine": {
                            "type": "string"
                        },
                        "EngineMode": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "GlobalClusterIdentifier": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "MasterUserPassword": {
                            "type": "string"
                        },
                        "MasterUsername": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "PreferredBackupWindow": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "ReplicationSourceIdentifier": {
                            "type": "string"
                        },
                        "RestoreType": {
                            "type": "string"
                        },
                        "ScalingConfiguration": {
                            "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration"
                        },
                        "SnapshotIdentifier": {
                            "type": "string"
                        },
                        "SourceDBClusterIdentifier": {
                            "type": "string"
                        },
                        "SourceRegion": {
                            "type": "string"
                        },
                        "StorageEncrypted": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UseLatestRestorableTime": {
                            "type": "boolean"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Engine"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBCluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBCluster.DBClusterRole": {
            "additionalProperties": false,
            "properties": {
                "FeatureName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::RDS::DBCluster.ScalingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AutoPause": {
                    "type": "boolean"
                },
                "MaxCapacity": {
                    "type": "number"
                },
                "MinCapacity": {
                    "type": "number"
                },
                "SecondsUntilAutoPause": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::RDS::DBClusterParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Family": {
                            "type": "string"
                        },
                        "Parameters": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "Family",
                        "Parameters"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBClusterParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBInstance": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllocatedStorage": {
                            "type": "string"
                        },
                        "AllowMajorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AssociatedRoles": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole"
                            },
                            "type": "array"
                        },
                        "AutoMinorVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "BackupRetentionPeriod": {
                            "type": "number"
                        },
                        "CACertificateIdentifier": {
                            "type": "string"
                        },
                        "CharacterSetName": {
                            "type": "string"
                        },
                        "CopyTagsToSnapshot": {
                            "type": "boolean"
                        },
                        "DBClusterIdentifier": {
                            "type": "string"
                        },
                        "DBInstanceClass": {
                            "type": "string"
                        },
                        "DBInstanceIdentifier": {
                            "type": "string"
                        },
                        "DBName": {
                            "type": "string"
                        },
                        "DBParameterGroupName": {
                            "type": "string"
                        },
                        "DBSecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "DBSnapshotIdentifier": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "DeleteAutomatedBackups": {
                            "type": "boolean"
                        },
                        "DeletionProtection": {
                            "type": "boolean"
                        },
                        "Domain": {
                            "type": "string"
                        },
                        "DomainIAMRoleName": {
                            "type": "string"
                        },
                        "EnableCloudwatchLogsExports": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "EnableIAMDatabaseAuthentication": {
                            "type": "boolean"
                        },
                        "EnablePerformanceInsights": {
                            "type": "boolean"
                        },
                        "Engine": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "Iops": {
                            "type": "number"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "LicenseModel": {
                            "type": "string"
                        },
                        "MasterUserPassword": {
                            "type": "string"
                        },
                        "MasterUsername": {
                            "type": "string"
                        },
                        "MaxAllocatedStorage": {
                            "type": "number"
                        },
                        "MonitoringInterval": {
                            "type": "number"
                        },
                        "MonitoringRoleArn": {
                            "type": "string"
                        },
                        "MultiAZ": {
                            "type": "boolean"
                        },
                        "OptionGroupName": {
                            "type": "string"
                        },
                        "PerformanceInsightsKMSKeyId": {
                            "type": "string"
                        },
                        "PerformanceInsightsRetentionPeriod": {
                            "type": "number"
                        },
                        "Port": {
                            "type": "string"
                        },
                        "PreferredBackupWindow": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "ProcessorFeatures": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature"
                            },
                            "type": "array"
                        },
                        "PromotionTier": {
                            "type": "number"
                        },
                        "PubliclyAccessible": {
                            "type": "boolean"
                        },
                        "SourceDBInstanceIdentifier": {
                            "type": "string"
                        },
                        "SourceRegion": {
                            "type": "string"
                        },
                        "StorageEncrypted": {
                            "type": "boolean"
                        },
                        "StorageType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Timezone": {
                            "type": "string"
                        },
                        "UseDefaultProcessorFeatures": {
                            "type": "boolean"
                        },
                        "VPCSecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBInstanceClass"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBInstance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBInstance.DBInstanceRole": {
            "additionalProperties": false,
            "properties": {
                "FeatureName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                }
            },
            "required": [
                "FeatureName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::RDS::DBInstance.ProcessorFeature": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::RDS::DBParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Family": {
                            "type": "string"
                        },
                        "Parameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "Family"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBProxy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Auth": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat"
                            },
                            "type": "array"
                        },
                        "DBProxyName": {
                            "type": "string"
                        },
                        "DebugLogging": {
                            "type": "boolean"
                        },
                        "EngineFamily": {
                            "type": "string"
                        },
                        "IdleClientTimeout": {
                            "type": "number"
                        },
                        "RequireTLS": {
                            "type": "boolean"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat"
                            },
                            "type": "array"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VpcSubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Auth",
                        "DBProxyName",
                        "EngineFamily",
                        "RoleArn",
                        "VpcSubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBProxy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBProxy.AuthFormat": {
            "additionalProperties": false,
            "properties": {
                "AuthScheme": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "IAMAuth": {
                    "type": "string"
                },
                "SecretArn": {
                    "type": "string"
                },
                "UserName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::RDS::DBProxy.TagFormat": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::RDS::DBProxyEndpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DBProxyEndpointName": {
                            "type": "string"
                        },
                        "DBProxyName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat"
                            },
                            "type": "array"
                        },
                        "TargetRole": {
                            "type": "string"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VpcSubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBProxyEndpointName",
                        "DBProxyName",
                        "VpcSubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBProxyEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBProxyEndpoint.TagFormat": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::RDS::DBProxyTargetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectionPoolConfigurationInfo": {
                            "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat"
                        },
                        "DBClusterIdentifiers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "DBInstanceIdentifiers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "DBProxyName": {
                            "type": "string"
                        },
                        "TargetGroupName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DBProxyName",
                        "TargetGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBProxyTargetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": {
            "additionalProperties": false,
            "properties": {
                "ConnectionBorrowTimeout": {
                    "type": "number"
                },
                "InitQuery": {
                    "type": "string"
                },
                "MaxConnectionsPercent": {
                    "type": "number"
                },
                "MaxIdleConnectionsPercent": {
                    "type": "number"
                },
                "SessionPinningFilters": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::RDS::DBSecurityGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DBSecurityGroupIngress": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress"
                            },
                            "type": "array"
                        },
                        "EC2VpcId": {
                            "type": "string"
                        },
                        "GroupDescription": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBSecurityGroupIngress",
                        "GroupDescription"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBSecurityGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBSecurityGroup.Ingress": {
            "additionalProperties": false,
            "properties": {
                "CIDRIP": {
                    "type": "string"
                },
                "EC2SecurityGroupId": {
                    "type": "string"
                },
                "EC2SecurityGroupName": {
                    "type": "string"
                },
                "EC2SecurityGroupOwnerId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::RDS::DBSecurityGroupIngress": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CIDRIP": {
                            "type": "string"
                        },
                        "DBSecurityGroupName": {
                            "type": "string"
                        },
                        "EC2SecurityGroupId": {
                            "type": "string"
                        },
                        "EC2SecurityGroupName": {
                            "type": "string"
                        },
                        "EC2SecurityGroupOwnerId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DBSecurityGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBSecurityGroupIngress"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::DBSubnetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DBSubnetGroupDescription": {
                            "type": "string"
                        },
                        "DBSubnetGroupName": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DBSubnetGroupDescription",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::DBSubnetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::EventSubscription": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Enabled": {
                            "type": "boolean"
                        },
                        "EventCategories": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SnsTopicArn": {
                            "type": "string"
                        },
                        "SourceIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SourceType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SnsTopicArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::EventSubscription"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::GlobalCluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeletionProtection": {
                            "type": "boolean"
                        },
                        "Engine": {
                            "type": "string"
                        },
                        "EngineVersion": {
                            "type": "string"
                        },
                        "GlobalClusterIdentifier": {
                            "type": "string"
                        },
                        "SourceDBClusterIdentifier": {
                            "type": "string"
                        },
                        "StorageEncrypted": {
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::GlobalCluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::RDS::OptionGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EngineName": {
                            "type": "string"
                        },
                        "MajorEngineVersion": {
                            "type": "string"
                        },
                        "OptionConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration"
                            },
                            "type": "array"
                        },
                        "OptionGroupDescription": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "EngineName",
                        "MajorEngineVersion",
                        "OptionConfigurations",
                        "OptionGroupDescription"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RDS::OptionGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RDS::OptionGroup.OptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DBSecurityGroupMemberships": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "OptionName": {
                    "type": "string"
                },
                "OptionSettings": {
                    "items": {
                        "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting"
                    },
                    "type": "array"
                },
                "OptionVersion": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "VpcSecurityGroupMemberships": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "OptionName"
            ],
            "type": "object"
        },
        "AWS::RDS::OptionGroup.OptionSetting": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Redshift::Cluster": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowVersionUpgrade": {
                            "type": "boolean"
                        },
                        "AutomatedSnapshotRetentionPeriod": {
                            "type": "number"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "ClusterIdentifier": {
                            "type": "string"
                        },
                        "ClusterParameterGroupName": {
                            "type": "string"
                        },
                        "ClusterSecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ClusterSubnetGroupName": {
                            "type": "string"
                        },
                        "ClusterType": {
                            "type": "string"
                        },
                        "ClusterVersion": {
                            "type": "string"
                        },
                        "DBName": {
                            "type": "string"
                        },
                        "ElasticIp": {
                            "type": "string"
                        },
                        "Encrypted": {
                            "type": "boolean"
                        },
                        "HsmClientCertificateIdentifier": {
                            "type": "string"
                        },
                        "HsmConfigurationIdentifier": {
                            "type": "string"
                        },
                        "IamRoles": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "LoggingProperties": {
                            "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties"
                        },
                        "MasterUserPassword": {
                            "type": "string"
                        },
                        "MasterUsername": {
                            "type": "string"
                        },
                        "NodeType": {
                            "type": "string"
                        },
                        "NumberOfNodes": {
                            "type": "number"
                        },
                        "OwnerAccount": {
                            "type": "string"
                        },
                        "Port": {
                            "type": "number"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "PubliclyAccessible": {
                            "type": "boolean"
                        },
                        "SnapshotClusterIdentifier": {
                            "type": "string"
                        },
                        "SnapshotIdentifier": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ClusterType",
                        "DBName",
                        "MasterUserPassword",
                        "MasterUsername",
                        "NodeType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Redshift::Cluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Redshift::Cluster.LoggingProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "S3KeyPrefix": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName"
            ],
            "type": "object"
        },
        "AWS::Redshift::ClusterParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "ParameterGroupFamily": {
                            "type": "string"
                        },
                        "Parameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "ParameterGroupFamily"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Redshift::ClusterParameterGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Redshift::ClusterParameterGroup.Parameter": {
            "additionalProperties": false,
            "properties": {
                "ParameterName": {
                    "type": "string"
                },
                "ParameterValue": {
                    "type": "string"
                }
            },
            "required": [
                "ParameterName",
                "ParameterValue"
            ],
            "type": "object"
        },
        "AWS::Redshift::ClusterSecurityGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Redshift::ClusterSecurityGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Redshift::ClusterSecurityGroupIngress": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CIDRIP": {
                            "type": "string"
                        },
                        "ClusterSecurityGroupName": {
                            "type": "string"
                        },
                        "EC2SecurityGroupName": {
                            "type": "string"
                        },
                        "EC2SecurityGroupOwnerId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ClusterSecurityGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Redshift::ClusterSecurityGroupIngress"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Redshift::ClusterSubnetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Description",
                        "SubnetIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Redshift::ClusterSubnetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ResourceGroups::Group": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Configuration": {
                            "items": {
                                "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ResourceQuery": {
                            "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery"
                        },
                        "Resources": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ResourceGroups::Group"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ResourceGroups::Group.ConfigurationItem": {
            "additionalProperties": false,
            "properties": {
                "Parameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter"
                    },
                    "type": "array"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ResourceGroups::Group.ConfigurationParameter": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ResourceGroups::Group.Query": {
            "additionalProperties": false,
            "properties": {
                "ResourceTypeFilters": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StackIdentifier": {
                    "type": "string"
                },
                "TagFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ResourceGroups::Group.ResourceQuery": {
            "additionalProperties": false,
            "properties": {
                "Query": {
                    "$ref": "#/definitions/AWS::ResourceGroups::Group.Query"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ResourceGroups::Group.TagFilter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::RoboMaker::Fleet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RoboMaker::Fleet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::Robot": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Architecture": {
                            "type": "string"
                        },
                        "Fleet": {
                            "type": "string"
                        },
                        "GreengrassGroupId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Architecture",
                        "GreengrassGroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RoboMaker::Robot"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::RobotApplication": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CurrentRevisionId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RobotSoftwareSuite": {
                            "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite"
                        },
                        "Sources": {
                            "items": {
                                "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "RobotSoftwareSuite",
                        "Sources"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RoboMaker::RobotApplication"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Version"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::RobotApplication.SourceConfig": {
            "additionalProperties": false,
            "properties": {
                "Architecture": {
                    "type": "string"
                },
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                }
            },
            "required": [
                "Architecture",
                "S3Bucket",
                "S3Key"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::RobotApplicationVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Application": {
                            "type": "string"
                        },
                        "CurrentRevisionId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Application"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RoboMaker::RobotApplicationVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::SimulationApplication": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CurrentRevisionId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RenderingEngine": {
                            "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine"
                        },
                        "RobotSoftwareSuite": {
                            "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite"
                        },
                        "SimulationSoftwareSuite": {
                            "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite"
                        },
                        "Sources": {
                            "items": {
                                "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "RenderingEngine",
                        "RobotSoftwareSuite",
                        "SimulationSoftwareSuite",
                        "Sources"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RoboMaker::SimulationApplication"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::SimulationApplication.RenderingEngine": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Version"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Version"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Version"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::SimulationApplication.SourceConfig": {
            "additionalProperties": false,
            "properties": {
                "Architecture": {
                    "type": "string"
                },
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                }
            },
            "required": [
                "Architecture",
                "S3Bucket",
                "S3Key"
            ],
            "type": "object"
        },
        "AWS::RoboMaker::SimulationApplicationVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Application": {
                            "type": "string"
                        },
                        "CurrentRevisionId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Application"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::RoboMaker::SimulationApplicationVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53::DNSSEC": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HostedZoneId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "HostedZoneId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53::DNSSEC"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53::HealthCheck": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HealthCheckConfig": {
                            "type": "object"
                        },
                        "HealthCheckTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "HealthCheckConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53::HealthCheck"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53::HealthCheck.HealthCheckTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Route53::HostedZone": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HostedZoneConfig": {
                            "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig"
                        },
                        "HostedZoneTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "QueryLoggingConfig": {
                            "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig"
                        },
                        "VPCs": {
                            "items": {
                                "$ref": "#/definitions/AWS::Route53::HostedZone.VPC"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53::HostedZone"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53::HostedZone.HostedZoneConfig": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Route53::HostedZone.HostedZoneTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Route53::HostedZone.QueryLoggingConfig": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogsLogGroupArn": {
                    "type": "string"
                }
            },
            "required": [
                "CloudWatchLogsLogGroupArn"
            ],
            "type": "object"
        },
        "AWS::Route53::HostedZone.VPC": {
            "additionalProperties": false,
            "properties": {
                "VPCId": {
                    "type": "string"
                },
                "VPCRegion": {
                    "type": "string"
                }
            },
            "required": [
                "VPCId",
                "VPCRegion"
            ],
            "type": "object"
        },
        "AWS::Route53::KeySigningKey": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HostedZoneId": {
                            "type": "string"
                        },
                        "KeyManagementServiceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "HostedZoneId",
                        "KeyManagementServiceArn",
                        "Name",
                        "Status"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53::KeySigningKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53::RecordSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AliasTarget": {
                            "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget"
                        },
                        "Comment": {
                            "type": "string"
                        },
                        "Failover": {
                            "type": "string"
                        },
                        "GeoLocation": {
                            "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation"
                        },
                        "HealthCheckId": {
                            "type": "string"
                        },
                        "HostedZoneId": {
                            "type": "string"
                        },
                        "HostedZoneName": {
                            "type": "string"
                        },
                        "MultiValueAnswer": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Region": {
                            "type": "string"
                        },
                        "ResourceRecords": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SetIdentifier": {
                            "type": "string"
                        },
                        "TTL": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "Weight": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Name",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53::RecordSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53::RecordSet.AliasTarget": {
            "additionalProperties": false,
            "properties": {
                "DNSName": {
                    "type": "string"
                },
                "EvaluateTargetHealth": {
                    "type": "boolean"
                },
                "HostedZoneId": {
                    "type": "string"
                }
            },
            "required": [
                "DNSName",
                "HostedZoneId"
            ],
            "type": "object"
        },
        "AWS::Route53::RecordSet.GeoLocation": {
            "additionalProperties": false,
            "properties": {
                "ContinentCode": {
                    "type": "string"
                },
                "CountryCode": {
                    "type": "string"
                },
                "SubdivisionCode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Route53::RecordSetGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Comment": {
                            "type": "string"
                        },
                        "HostedZoneId": {
                            "type": "string"
                        },
                        "HostedZoneName": {
                            "type": "string"
                        },
                        "RecordSets": {
                            "items": {
                                "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53::RecordSetGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Route53::RecordSetGroup.AliasTarget": {
            "additionalProperties": false,
            "properties": {
                "DNSName": {
                    "type": "string"
                },
                "EvaluateTargetHealth": {
                    "type": "boolean"
                },
                "HostedZoneId": {
                    "type": "string"
                }
            },
            "required": [
                "DNSName",
                "HostedZoneId"
            ],
            "type": "object"
        },
        "AWS::Route53::RecordSetGroup.GeoLocation": {
            "additionalProperties": false,
            "properties": {
                "ContinentCode": {
                    "type": "string"
                },
                "CountryCode": {
                    "type": "string"
                },
                "SubdivisionCode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Route53::RecordSetGroup.RecordSet": {
            "additionalProperties": false,
            "properties": {
                "AliasTarget": {
                    "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget"
                },
                "Comment": {
                    "type": "string"
                },
                "Failover": {
                    "type": "string"
                },
                "GeoLocation": {
                    "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation"
                },
                "HealthCheckId": {
                    "type": "string"
                },
                "HostedZoneId": {
                    "type": "string"
                },
                "HostedZoneName": {
                    "type": "string"
                },
                "MultiValueAnswer": {
                    "type": "boolean"
                },
                "Name": {
                    "type": "string"
                },
                "Region": {
                    "type": "string"
                },
                "ResourceRecords": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SetIdentifier": {
                    "type": "string"
                },
                "TTL": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::FirewallDomainList": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DomainFileUrl": {
                            "type": "string"
                        },
                        "Domains": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::FirewallDomainList"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::FirewallRuleGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FirewallRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::FirewallRuleGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "BlockOverrideDnsType": {
                    "type": "string"
                },
                "BlockOverrideDomain": {
                    "type": "string"
                },
                "BlockOverrideTtl": {
                    "type": "number"
                },
                "BlockResponse": {
                    "type": "string"
                },
                "FirewallDomainListId": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                }
            },
            "required": [
                "Action",
                "FirewallDomainListId",
                "Priority"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::FirewallRuleGroupAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FirewallRuleGroupId": {
                            "type": "string"
                        },
                        "MutationProtection": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Priority": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "FirewallRuleGroupId",
                        "Priority",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::FirewallRuleGroupAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverDNSSECConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceId": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::ResolverDNSSECConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverEndpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Direction": {
                            "type": "string"
                        },
                        "IpAddresses": {
                            "items": {
                                "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Direction",
                        "IpAddresses",
                        "SecurityGroupIds"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::ResolverEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": {
            "additionalProperties": false,
            "properties": {
                "Ip": {
                    "type": "string"
                },
                "SubnetId": {
                    "type": "string"
                }
            },
            "required": [
                "SubnetId"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverQueryLoggingConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DestinationArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::ResolverQueryLoggingConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResolverQueryLogConfigId": {
                            "type": "string"
                        },
                        "ResourceId": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DomainName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ResolverEndpointId": {
                            "type": "string"
                        },
                        "RuleType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetIps": {
                            "items": {
                                "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DomainName",
                        "RuleType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::ResolverRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverRule.TargetAddress": {
            "additionalProperties": false,
            "properties": {
                "Ip": {
                    "type": "string"
                },
                "Port": {
                    "type": "string"
                }
            },
            "required": [
                "Ip"
            ],
            "type": "object"
        },
        "AWS::Route53Resolver::ResolverRuleAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "ResolverRuleId": {
                            "type": "string"
                        },
                        "VPCId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResolverRuleId",
                        "VPCId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Route53Resolver::ResolverRuleAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3::AccessPoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Bucket": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Policy": {
                            "type": "object"
                        },
                        "PublicAccessBlockConfiguration": {
                            "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration"
                        },
                        "VpcConfiguration": {
                            "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration"
                        }
                    },
                    "required": [
                        "Bucket"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3::AccessPoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BlockPublicAcls": {
                    "type": "boolean"
                },
                "BlockPublicPolicy": {
                    "type": "boolean"
                },
                "IgnorePublicAcls": {
                    "type": "boolean"
                },
                "RestrictPublicBuckets": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::S3::AccessPoint.VpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "VpcId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccelerateConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration"
                        },
                        "AccessControl": {
                            "type": "string"
                        },
                        "AnalyticsConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration"
                            },
                            "type": "array"
                        },
                        "BucketEncryption": {
                            "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption"
                        },
                        "BucketName": {
                            "type": "string"
                        },
                        "CorsConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration"
                        },
                        "IntelligentTieringConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration"
                            },
                            "type": "array"
                        },
                        "InventoryConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration"
                            },
                            "type": "array"
                        },
                        "LifecycleConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration"
                        },
                        "LoggingConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration"
                        },
                        "MetricsConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration"
                            },
                            "type": "array"
                        },
                        "NotificationConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration"
                        },
                        "ObjectLockConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration"
                        },
                        "ObjectLockEnabled": {
                            "type": "boolean"
                        },
                        "OwnershipControls": {
                            "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls"
                        },
                        "PublicAccessBlockConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration"
                        },
                        "ReplicationConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VersioningConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration"
                        },
                        "WebsiteConfiguration": {
                            "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3::Bucket"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.AbortIncompleteMultipartUpload": {
            "additionalProperties": false,
            "properties": {
                "DaysAfterInitiation": {
                    "type": "number"
                }
            },
            "required": [
                "DaysAfterInitiation"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.AccelerateConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AccelerationStatus": {
                    "type": "string"
                }
            },
            "required": [
                "AccelerationStatus"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.AccessControlTranslation": {
            "additionalProperties": false,
            "properties": {
                "Owner": {
                    "type": "string"
                }
            },
            "required": [
                "Owner"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.AnalyticsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "StorageClassAnalysis": {
                    "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis"
                },
                "TagFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.TagFilter"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Id",
                "StorageClassAnalysis"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.BucketEncryption": {
            "additionalProperties": false,
            "properties": {
                "ServerSideEncryptionConfiguration": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ServerSideEncryptionConfiguration"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.CorsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CorsRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.CorsRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "CorsRules"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.CorsRule": {
            "additionalProperties": false,
            "properties": {
                "AllowedHeaders": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedMethods": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedOrigins": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExposedHeaders": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Id": {
                    "type": "string"
                },
                "MaxAge": {
                    "type": "number"
                }
            },
            "required": [
                "AllowedMethods",
                "AllowedOrigins"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.DataExport": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "$ref": "#/definitions/AWS::S3::Bucket.Destination"
                },
                "OutputSchemaVersion": {
                    "type": "string"
                }
            },
            "required": [
                "Destination",
                "OutputSchemaVersion"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.DefaultRetention": {
            "additionalProperties": false,
            "properties": {
                "Days": {
                    "type": "number"
                },
                "Mode": {
                    "type": "string"
                },
                "Years": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.DeleteMarkerReplication": {
            "additionalProperties": false,
            "properties": {
                "Status": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.Destination": {
            "additionalProperties": false,
            "properties": {
                "BucketAccountId": {
                    "type": "string"
                },
                "BucketArn": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "BucketArn",
                "Format"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.EncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ReplicaKmsKeyID": {
                    "type": "string"
                }
            },
            "required": [
                "ReplicaKmsKeyID"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.FilterRule": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.IntelligentTieringConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "TagFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.TagFilter"
                    },
                    "type": "array"
                },
                "Tierings": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.Tiering"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Id",
                "Status",
                "Tierings"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.InventoryConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "$ref": "#/definitions/AWS::S3::Bucket.Destination"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Id": {
                    "type": "string"
                },
                "IncludedObjectVersions": {
                    "type": "string"
                },
                "OptionalFields": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Prefix": {
                    "type": "string"
                },
                "ScheduleFrequency": {
                    "type": "string"
                }
            },
            "required": [
                "Destination",
                "Enabled",
                "Id",
                "IncludedObjectVersions",
                "ScheduleFrequency"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.LambdaConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Event": {
                    "type": "string"
                },
                "Filter": {
                    "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter"
                },
                "Function": {
                    "type": "string"
                }
            },
            "required": [
                "Event",
                "Function"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.LifecycleConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.Rule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Rules"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.LoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DestinationBucketName": {
                    "type": "string"
                },
                "LogFilePrefix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.Metrics": {
            "additionalProperties": false,
            "properties": {
                "EventThreshold": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue"
                },
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.MetricsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "TagFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.TagFilter"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.NoncurrentVersionTransition": {
            "additionalProperties": false,
            "properties": {
                "StorageClass": {
                    "type": "string"
                },
                "TransitionInDays": {
                    "type": "number"
                }
            },
            "required": [
                "StorageClass",
                "TransitionInDays"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.NotificationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LambdaConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration"
                    },
                    "type": "array"
                },
                "QueueConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration"
                    },
                    "type": "array"
                },
                "TopicConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.NotificationFilter": {
            "additionalProperties": false,
            "properties": {
                "S3Key": {
                    "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter"
                }
            },
            "required": [
                "S3Key"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ObjectLockConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ObjectLockEnabled": {
                    "type": "string"
                },
                "Rule": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.ObjectLockRule": {
            "additionalProperties": false,
            "properties": {
                "DefaultRetention": {
                    "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.OwnershipControls": {
            "additionalProperties": false,
            "properties": {
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Rules"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.OwnershipControlsRule": {
            "additionalProperties": false,
            "properties": {
                "ObjectOwnership": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.PublicAccessBlockConfiguration": {
            "additionalProperties": false,
            "properties": {
                "BlockPublicAcls": {
                    "type": "boolean"
                },
                "BlockPublicPolicy": {
                    "type": "boolean"
                },
                "IgnorePublicAcls": {
                    "type": "boolean"
                },
                "RestrictPublicBuckets": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.QueueConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Event": {
                    "type": "string"
                },
                "Filter": {
                    "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter"
                },
                "Queue": {
                    "type": "string"
                }
            },
            "required": [
                "Event",
                "Queue"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.RedirectAllRequestsTo": {
            "additionalProperties": false,
            "properties": {
                "HostName": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                }
            },
            "required": [
                "HostName"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.RedirectRule": {
            "additionalProperties": false,
            "properties": {
                "HostName": {
                    "type": "string"
                },
                "HttpRedirectCode": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                },
                "ReplaceKeyPrefixWith": {
                    "type": "string"
                },
                "ReplaceKeyWith": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicaModifications": {
            "additionalProperties": false,
            "properties": {
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Role": {
                    "type": "string"
                },
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Role",
                "Rules"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicationDestination": {
            "additionalProperties": false,
            "properties": {
                "AccessControlTranslation": {
                    "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation"
                },
                "Account": {
                    "type": "string"
                },
                "Bucket": {
                    "type": "string"
                },
                "EncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration"
                },
                "Metrics": {
                    "$ref": "#/definitions/AWS::S3::Bucket.Metrics"
                },
                "ReplicationTime": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime"
                },
                "StorageClass": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicationRule": {
            "additionalProperties": false,
            "properties": {
                "DeleteMarkerReplication": {
                    "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication"
                },
                "Destination": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination"
                },
                "Filter": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter"
                },
                "Id": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                },
                "SourceSelectionCriteria": {
                    "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria"
                },
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Destination",
                "Status"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicationRuleAndOperator": {
            "additionalProperties": false,
            "properties": {
                "Prefix": {
                    "type": "string"
                },
                "TagFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.TagFilter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicationRuleFilter": {
            "additionalProperties": false,
            "properties": {
                "And": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator"
                },
                "Prefix": {
                    "type": "string"
                },
                "TagFilter": {
                    "$ref": "#/definitions/AWS::S3::Bucket.TagFilter"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicationTime": {
            "additionalProperties": false,
            "properties": {
                "Status": {
                    "type": "string"
                },
                "Time": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue"
                }
            },
            "required": [
                "Status",
                "Time"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ReplicationTimeValue": {
            "additionalProperties": false,
            "properties": {
                "Minutes": {
                    "type": "number"
                }
            },
            "required": [
                "Minutes"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.RoutingRule": {
            "additionalProperties": false,
            "properties": {
                "RedirectRule": {
                    "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule"
                },
                "RoutingRuleCondition": {
                    "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition"
                }
            },
            "required": [
                "RedirectRule"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.RoutingRuleCondition": {
            "additionalProperties": false,
            "properties": {
                "HttpErrorCodeReturnedEquals": {
                    "type": "string"
                },
                "KeyPrefixEquals": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.Rule": {
            "additionalProperties": false,
            "properties": {
                "AbortIncompleteMultipartUpload": {
                    "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload"
                },
                "ExpirationDate": {
                    "type": "string"
                },
                "ExpirationInDays": {
                    "type": "number"
                },
                "ExpiredObjectDeleteMarker": {
                    "type": "boolean"
                },
                "Id": {
                    "type": "string"
                },
                "NoncurrentVersionExpirationInDays": {
                    "type": "number"
                },
                "NoncurrentVersionTransition": {
                    "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition"
                },
                "NoncurrentVersionTransitions": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition"
                    },
                    "type": "array"
                },
                "Prefix": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "TagFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.TagFilter"
                    },
                    "type": "array"
                },
                "Transition": {
                    "$ref": "#/definitions/AWS::S3::Bucket.Transition"
                },
                "Transitions": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.Transition"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.S3KeyFilter": {
            "additionalProperties": false,
            "properties": {
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.FilterRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Rules"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ServerSideEncryptionByDefault": {
            "additionalProperties": false,
            "properties": {
                "KMSMasterKeyID": {
                    "type": "string"
                },
                "SSEAlgorithm": {
                    "type": "string"
                }
            },
            "required": [
                "SSEAlgorithm"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.ServerSideEncryptionRule": {
            "additionalProperties": false,
            "properties": {
                "BucketKeyEnabled": {
                    "type": "boolean"
                },
                "ServerSideEncryptionByDefault": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.SourceSelectionCriteria": {
            "additionalProperties": false,
            "properties": {
                "ReplicaModifications": {
                    "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications"
                },
                "SseKmsEncryptedObjects": {
                    "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.SseKmsEncryptedObjects": {
            "additionalProperties": false,
            "properties": {
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.StorageClassAnalysis": {
            "additionalProperties": false,
            "properties": {
                "DataExport": {
                    "$ref": "#/definitions/AWS::S3::Bucket.DataExport"
                }
            },
            "type": "object"
        },
        "AWS::S3::Bucket.TagFilter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.Tiering": {
            "additionalProperties": false,
            "properties": {
                "AccessTier": {
                    "type": "string"
                },
                "Days": {
                    "type": "number"
                }
            },
            "required": [
                "AccessTier",
                "Days"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.TopicConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Event": {
                    "type": "string"
                },
                "Filter": {
                    "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter"
                },
                "Topic": {
                    "type": "string"
                }
            },
            "required": [
                "Event",
                "Topic"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.Transition": {
            "additionalProperties": false,
            "properties": {
                "StorageClass": {
                    "type": "string"
                },
                "TransitionDate": {
                    "type": "string"
                },
                "TransitionInDays": {
                    "type": "number"
                }
            },
            "required": [
                "StorageClass"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.VersioningConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Status"
            ],
            "type": "object"
        },
        "AWS::S3::Bucket.WebsiteConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ErrorDocument": {
                    "type": "string"
                },
                "IndexDocument": {
                    "type": "string"
                },
                "RedirectAllRequestsTo": {
                    "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo"
                },
                "RoutingRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::S3::BucketPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Bucket": {
                            "type": "string"
                        },
                        "PolicyDocument": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Bucket",
                        "PolicyDocument"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3::BucketPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3::StorageLens": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "StorageLensConfiguration": {
                            "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "StorageLensConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3::StorageLens"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3::StorageLens.AccountLevel": {
            "additionalProperties": false,
            "properties": {
                "ActivityMetrics": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics"
                },
                "BucketLevel": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel"
                }
            },
            "required": [
                "BucketLevel"
            ],
            "type": "object"
        },
        "AWS::S3::StorageLens.ActivityMetrics": {
            "additionalProperties": false,
            "properties": {
                "IsEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::S3::StorageLens.AwsOrg": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                }
            },
            "required": [
                "Arn"
            ],
            "type": "object"
        },
        "AWS::S3::StorageLens.BucketLevel": {
            "additionalProperties": false,
            "properties": {
                "ActivityMetrics": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics"
                },
                "PrefixLevel": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel"
                }
            },
            "type": "object"
        },
        "AWS::S3::StorageLens.BucketsAndRegions": {
            "additionalProperties": false,
            "properties": {
                "Buckets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Regions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::S3::StorageLens.DataExport": {
            "additionalProperties": false,
            "properties": {
                "S3BucketDestination": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination"
                }
            },
            "required": [
                "S3BucketDestination"
            ],
            "type": "object"
        },
        "AWS::S3::StorageLens.Encryption": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::S3::StorageLens.PrefixLevel": {
            "additionalProperties": false,
            "properties": {
                "StorageMetrics": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics"
                }
            },
            "required": [
                "StorageMetrics"
            ],
            "type": "object"
        },
        "AWS::S3::StorageLens.PrefixLevelStorageMetrics": {
            "additionalProperties": false,
            "properties": {
                "IsEnabled": {
                    "type": "boolean"
                },
                "SelectionCriteria": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria"
                }
            },
            "type": "object"
        },
        "AWS::S3::StorageLens.S3BucketDestination": {
            "additionalProperties": false,
            "properties": {
                "AccountId": {
                    "type": "string"
                },
                "Arn": {
                    "type": "string"
                },
                "Encryption": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.Encryption"
                },
                "Format": {
                    "type": "string"
                },
                "OutputSchemaVersion": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "AccountId",
                "Arn",
                "Format",
                "OutputSchemaVersion"
            ],
            "type": "object"
        },
        "AWS::S3::StorageLens.SelectionCriteria": {
            "additionalProperties": false,
            "properties": {
                "Delimiter": {
                    "type": "string"
                },
                "MaxDepth": {
                    "type": "number"
                },
                "MinStorageBytesPercentage": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::S3::StorageLens.StorageLensConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AccountLevel": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel"
                },
                "AwsOrg": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg"
                },
                "DataExport": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.DataExport"
                },
                "Exclude": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions"
                },
                "Id": {
                    "type": "string"
                },
                "Include": {
                    "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions"
                },
                "IsEnabled": {
                    "type": "boolean"
                },
                "StorageLensArn": {
                    "type": "string"
                }
            },
            "required": [
                "AccountLevel",
                "Id",
                "IsEnabled"
            ],
            "type": "object"
        },
        "AWS::S3ObjectLambda::AccessPoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "ObjectLambdaConfiguration": {
                            "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3ObjectLambda::AccessPoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AllowedFeatures": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "CloudWatchMetricsEnabled": {
                    "type": "boolean"
                },
                "SupportingAccessPoint": {
                    "type": "string"
                },
                "TransformationConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SupportingAccessPoint",
                "TransformationConfigurations"
            ],
            "type": "object"
        },
        "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ContentTransformation": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::S3ObjectLambda::AccessPointPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ObjectLambdaAccessPoint": {
                            "type": "string"
                        },
                        "PolicyDocument": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "ObjectLambdaAccessPoint",
                        "PolicyDocument"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3ObjectLambda::AccessPointPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3Outposts::AccessPoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Bucket": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Policy": {
                            "type": "object"
                        },
                        "VpcConfiguration": {
                            "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration"
                        }
                    },
                    "required": [
                        "Bucket",
                        "Name",
                        "VpcConfiguration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3Outposts::AccessPoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3Outposts::AccessPoint.VpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "VpcId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3Outposts::Bucket": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BucketName": {
                            "type": "string"
                        },
                        "LifecycleConfiguration": {
                            "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration"
                        },
                        "OutpostId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "BucketName",
                        "OutpostId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3Outposts::Bucket"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": {
            "additionalProperties": false,
            "properties": {
                "DaysAfterInitiation": {
                    "type": "number"
                }
            },
            "required": [
                "DaysAfterInitiation"
            ],
            "type": "object"
        },
        "AWS::S3Outposts::Bucket.LifecycleConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Rules"
            ],
            "type": "object"
        },
        "AWS::S3Outposts::Bucket.Rule": {
            "additionalProperties": false,
            "properties": {
                "AbortIncompleteMultipartUpload": {
                    "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload"
                },
                "ExpirationDate": {
                    "type": "string"
                },
                "ExpirationInDays": {
                    "type": "number"
                },
                "Filter": {
                    "type": "object"
                },
                "Id": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::S3Outposts::BucketPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Bucket": {
                            "type": "string"
                        },
                        "PolicyDocument": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "Bucket",
                        "PolicyDocument"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3Outposts::BucketPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3Outposts::Endpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "OutpostId": {
                            "type": "string"
                        },
                        "SecurityGroupId": {
                            "type": "string"
                        },
                        "SubnetId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "OutpostId",
                        "SecurityGroupId",
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::S3Outposts::Endpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::S3Outposts::Endpoint.NetworkInterface": {
            "additionalProperties": false,
            "properties": {
                "NetworkInterfaceId": {
                    "type": "string"
                }
            },
            "required": [
                "NetworkInterfaceId"
            ],
            "type": "object"
        },
        "AWS::SDB::Domain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SDB::Domain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SES::ConfigurationSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SES::ConfigurationSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SES::ConfigurationSetEventDestination": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConfigurationSetName": {
                            "type": "string"
                        },
                        "EventDestination": {
                            "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination"
                        }
                    },
                    "required": [
                        "ConfigurationSetName",
                        "EventDestination"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SES::ConfigurationSetEventDestination"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": {
            "additionalProperties": false,
            "properties": {
                "DimensionConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DefaultDimensionValue": {
                    "type": "string"
                },
                "DimensionName": {
                    "type": "string"
                },
                "DimensionValueSource": {
                    "type": "string"
                }
            },
            "required": [
                "DefaultDimensionValue",
                "DimensionName",
                "DimensionValueSource"
            ],
            "type": "object"
        },
        "AWS::SES::ConfigurationSetEventDestination.EventDestination": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchDestination": {
                    "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "KinesisFirehoseDestination": {
                    "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination"
                },
                "MatchingEventTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "MatchingEventTypes"
            ],
            "type": "object"
        },
        "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": {
            "additionalProperties": false,
            "properties": {
                "DeliveryStreamARN": {
                    "type": "string"
                },
                "IAMRoleARN": {
                    "type": "string"
                }
            },
            "required": [
                "DeliveryStreamARN",
                "IAMRoleARN"
            ],
            "type": "object"
        },
        "AWS::SES::ContactList": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContactListName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Topics": {
                            "items": {
                                "$ref": "#/definitions/AWS::SES::ContactList.Topic"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SES::ContactList"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SES::ContactList.Topic": {
            "additionalProperties": false,
            "properties": {
                "DefaultSubscriptionStatus": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "DisplayName": {
                    "type": "string"
                },
                "TopicName": {
                    "type": "string"
                }
            },
            "required": [
                "DefaultSubscriptionStatus",
                "DisplayName",
                "TopicName"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptFilter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Filter": {
                            "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter"
                        }
                    },
                    "required": [
                        "Filter"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SES::ReceiptFilter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptFilter.Filter": {
            "additionalProperties": false,
            "properties": {
                "IpFilter": {
                    "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "IpFilter"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptFilter.IpFilter": {
            "additionalProperties": false,
            "properties": {
                "Cidr": {
                    "type": "string"
                },
                "Policy": {
                    "type": "string"
                }
            },
            "required": [
                "Cidr",
                "Policy"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "After": {
                            "type": "string"
                        },
                        "Rule": {
                            "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule"
                        },
                        "RuleSetName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Rule",
                        "RuleSetName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SES::ReceiptRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRule.Action": {
            "additionalProperties": false,
            "properties": {
                "AddHeaderAction": {
                    "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction"
                },
                "BounceAction": {
                    "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction"
                },
                "LambdaAction": {
                    "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction"
                },
                "S3Action": {
                    "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action"
                },
                "SNSAction": {
                    "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction"
                },
                "StopAction": {
                    "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction"
                },
                "WorkmailAction": {
                    "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction"
                }
            },
            "type": "object"
        },
        "AWS::SES::ReceiptRule.AddHeaderAction": {
            "additionalProperties": false,
            "properties": {
                "HeaderName": {
                    "type": "string"
                },
                "HeaderValue": {
                    "type": "string"
                }
            },
            "required": [
                "HeaderName",
                "HeaderValue"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRule.BounceAction": {
            "additionalProperties": false,
            "properties": {
                "Message": {
                    "type": "string"
                },
                "Sender": {
                    "type": "string"
                },
                "SmtpReplyCode": {
                    "type": "string"
                },
                "StatusCode": {
                    "type": "string"
                },
                "TopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "Message",
                "Sender",
                "SmtpReplyCode"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRule.LambdaAction": {
            "additionalProperties": false,
            "properties": {
                "FunctionArn": {
                    "type": "string"
                },
                "InvocationType": {
                    "type": "string"
                },
                "TopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "FunctionArn"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRule.Rule": {
            "additionalProperties": false,
            "properties": {
                "Actions": {
                    "items": {
                        "$ref": "#/definitions/AWS::SES::ReceiptRule.Action"
                    },
                    "type": "array"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Name": {
                    "type": "string"
                },
                "Recipients": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ScanEnabled": {
                    "type": "boolean"
                },
                "TlsPolicy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SES::ReceiptRule.S3Action": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "KmsKeyArn": {
                    "type": "string"
                },
                "ObjectKeyPrefix": {
                    "type": "string"
                },
                "TopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRule.SNSAction": {
            "additionalProperties": false,
            "properties": {
                "Encoding": {
                    "type": "string"
                },
                "TopicArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SES::ReceiptRule.StopAction": {
            "additionalProperties": false,
            "properties": {
                "Scope": {
                    "type": "string"
                },
                "TopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "Scope"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRule.WorkmailAction": {
            "additionalProperties": false,
            "properties": {
                "OrganizationArn": {
                    "type": "string"
                },
                "TopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "OrganizationArn"
            ],
            "type": "object"
        },
        "AWS::SES::ReceiptRuleSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "RuleSetName": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SES::ReceiptRuleSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SES::Template": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Template": {
                            "$ref": "#/definitions/AWS::SES::Template.Template"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SES::Template"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SES::Template.Template": {
            "additionalProperties": false,
            "properties": {
                "HtmlPart": {
                    "type": "string"
                },
                "SubjectPart": {
                    "type": "string"
                },
                "TemplateName": {
                    "type": "string"
                },
                "TextPart": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SNS::Subscription": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeliveryPolicy": {
                            "type": "object"
                        },
                        "Endpoint": {
                            "type": "string"
                        },
                        "FilterPolicy": {
                            "type": "object"
                        },
                        "Protocol": {
                            "type": "string"
                        },
                        "RawMessageDelivery": {
                            "type": "boolean"
                        },
                        "RedrivePolicy": {
                            "type": "object"
                        },
                        "Region": {
                            "type": "string"
                        },
                        "SubscriptionRoleArn": {
                            "type": "string"
                        },
                        "TopicArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Protocol",
                        "TopicArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SNS::Subscription"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SNS::Topic": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContentBasedDeduplication": {
                            "type": "boolean"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "FifoTopic": {
                            "type": "boolean"
                        },
                        "KmsMasterKeyId": {
                            "type": "string"
                        },
                        "Subscription": {
                            "items": {
                                "$ref": "#/definitions/AWS::SNS::Topic.Subscription"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TopicName": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SNS::Topic"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SNS::Topic.Subscription": {
            "additionalProperties": false,
            "properties": {
                "Endpoint": {
                    "type": "string"
                },
                "Protocol": {
                    "type": "string"
                }
            },
            "required": [
                "Endpoint",
                "Protocol"
            ],
            "type": "object"
        },
        "AWS::SNS::TopicPolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PolicyDocument": {
                            "type": "object"
                        },
                        "Topics": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PolicyDocument",
                        "Topics"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SNS::TopicPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SQS::Queue": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContentBasedDeduplication": {
                            "type": "boolean"
                        },
                        "DelaySeconds": {
                            "type": "number"
                        },
                        "FifoQueue": {
                            "type": "boolean"
                        },
                        "KmsDataKeyReusePeriodSeconds": {
                            "type": "number"
                        },
                        "KmsMasterKeyId": {
                            "type": "string"
                        },
                        "MaximumMessageSize": {
                            "type": "number"
                        },
                        "MessageRetentionPeriod": {
                            "type": "number"
                        },
                        "QueueName": {
                            "type": "string"
                        },
                        "ReceiveMessageWaitTimeSeconds": {
                            "type": "number"
                        },
                        "RedrivePolicy": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VisibilityTimeout": {
                            "type": "number"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SQS::Queue"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SQS::QueuePolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PolicyDocument": {
                            "type": "object"
                        },
                        "Queues": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PolicyDocument",
                        "Queues"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SQS::QueuePolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::Association": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplyOnlyAtCronInterval": {
                            "type": "boolean"
                        },
                        "AssociationName": {
                            "type": "string"
                        },
                        "AutomationTargetParameterName": {
                            "type": "string"
                        },
                        "CalendarNames": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ComplianceSeverity": {
                            "type": "string"
                        },
                        "DocumentVersion": {
                            "type": "string"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "MaxConcurrency": {
                            "type": "string"
                        },
                        "MaxErrors": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OutputLocation": {
                            "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation"
                        },
                        "Parameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "object"
                                }
                            },
                            "type": "object"
                        },
                        "ScheduleExpression": {
                            "type": "string"
                        },
                        "SyncCompliance": {
                            "type": "string"
                        },
                        "Targets": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSM::Association.Target"
                            },
                            "type": "array"
                        },
                        "WaitForSuccessTimeoutSeconds": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::Association"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::Association.InstanceAssociationOutputLocation": {
            "additionalProperties": false,
            "properties": {
                "S3Location": {
                    "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation"
                }
            },
            "type": "object"
        },
        "AWS::SSM::Association.S3OutputLocation": {
            "additionalProperties": false,
            "properties": {
                "OutputS3BucketName": {
                    "type": "string"
                },
                "OutputS3KeyPrefix": {
                    "type": "string"
                },
                "OutputS3Region": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SSM::Association.Target": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Key",
                "Values"
            ],
            "type": "object"
        },
        "AWS::SSM::Document": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Attachments": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource"
                            },
                            "type": "array"
                        },
                        "Content": {
                            "type": "object"
                        },
                        "DocumentFormat": {
                            "type": "string"
                        },
                        "DocumentType": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Requires": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetType": {
                            "type": "string"
                        },
                        "VersionName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Content"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::Document"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::Document.AttachmentsSource": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SSM::Document.DocumentRequires": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindow": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowUnassociatedTargets": {
                            "type": "boolean"
                        },
                        "Cutoff": {
                            "type": "number"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Duration": {
                            "type": "number"
                        },
                        "EndDate": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Schedule": {
                            "type": "string"
                        },
                        "ScheduleOffset": {
                            "type": "number"
                        },
                        "ScheduleTimezone": {
                            "type": "string"
                        },
                        "StartDate": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AllowUnassociatedTargets",
                        "Cutoff",
                        "Duration",
                        "Name",
                        "Schedule"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::MaintenanceWindow"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTarget": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OwnerInformation": {
                            "type": "string"
                        },
                        "ResourceType": {
                            "type": "string"
                        },
                        "Targets": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets"
                            },
                            "type": "array"
                        },
                        "WindowId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResourceType",
                        "Targets",
                        "WindowId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::MaintenanceWindowTarget"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTarget.Targets": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Key",
                "Values"
            ],
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "LoggingInfo": {
                            "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo"
                        },
                        "MaxConcurrency": {
                            "type": "string"
                        },
                        "MaxErrors": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Priority": {
                            "type": "number"
                        },
                        "ServiceRoleArn": {
                            "type": "string"
                        },
                        "Targets": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target"
                            },
                            "type": "array"
                        },
                        "TaskArn": {
                            "type": "string"
                        },
                        "TaskInvocationParameters": {
                            "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters"
                        },
                        "TaskParameters": {
                            "type": "object"
                        },
                        "TaskType": {
                            "type": "string"
                        },
                        "WindowId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Priority",
                        "TaskArn",
                        "TaskType",
                        "WindowId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::MaintenanceWindowTask"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.LoggingInfo": {
            "additionalProperties": false,
            "properties": {
                "Region": {
                    "type": "string"
                },
                "S3Bucket": {
                    "type": "string"
                },
                "S3Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "Region",
                "S3Bucket"
            ],
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": {
            "additionalProperties": false,
            "properties": {
                "DocumentVersion": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": {
            "additionalProperties": false,
            "properties": {
                "ClientContext": {
                    "type": "string"
                },
                "Payload": {
                    "type": "string"
                },
                "Qualifier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "DocumentHash": {
                    "type": "string"
                },
                "DocumentHashType": {
                    "type": "string"
                },
                "NotificationConfig": {
                    "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig"
                },
                "OutputS3BucketName": {
                    "type": "string"
                },
                "OutputS3KeyPrefix": {
                    "type": "string"
                },
                "Parameters": {
                    "type": "object"
                },
                "ServiceRoleArn": {
                    "type": "string"
                },
                "TimeoutSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": {
            "additionalProperties": false,
            "properties": {
                "Input": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.NotificationConfig": {
            "additionalProperties": false,
            "properties": {
                "NotificationArn": {
                    "type": "string"
                },
                "NotificationEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "NotificationType": {
                    "type": "string"
                }
            },
            "required": [
                "NotificationArn"
            ],
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.Target": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Key",
                "Values"
            ],
            "type": "object"
        },
        "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": {
            "additionalProperties": false,
            "properties": {
                "MaintenanceWindowAutomationParameters": {
                    "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters"
                },
                "MaintenanceWindowLambdaParameters": {
                    "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters"
                },
                "MaintenanceWindowRunCommandParameters": {
                    "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters"
                },
                "MaintenanceWindowStepFunctionsParameters": {
                    "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters"
                }
            },
            "type": "object"
        },
        "AWS::SSM::Parameter": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowedPattern": {
                            "type": "string"
                        },
                        "DataType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Policies": {
                            "type": "string"
                        },
                        "Tags": {
                            "type": "object"
                        },
                        "Tier": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "Value": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type",
                        "Value"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::Parameter"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::PatchBaseline": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApprovalRules": {
                            "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup"
                        },
                        "ApprovedPatches": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ApprovedPatchesComplianceLevel": {
                            "type": "string"
                        },
                        "ApprovedPatchesEnableNonSecurity": {
                            "type": "boolean"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "GlobalFilters": {
                            "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OperatingSystem": {
                            "type": "string"
                        },
                        "PatchGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "RejectedPatches": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "RejectedPatchesAction": {
                            "type": "string"
                        },
                        "Sources": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::PatchBaseline"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::PatchBaseline.PatchFilter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SSM::PatchBaseline.PatchFilterGroup": {
            "additionalProperties": false,
            "properties": {
                "PatchFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SSM::PatchBaseline.PatchSource": {
            "additionalProperties": false,
            "properties": {
                "Configuration": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Products": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SSM::PatchBaseline.PatchStringDate": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::SSM::PatchBaseline.Rule": {
            "additionalProperties": false,
            "properties": {
                "ApproveAfterDays": {
                    "type": "number"
                },
                "ApproveUntilDate": {
                    "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate"
                },
                "ComplianceLevel": {
                    "type": "string"
                },
                "EnableNonSecurity": {
                    "type": "boolean"
                },
                "PatchFilterGroup": {
                    "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup"
                }
            },
            "type": "object"
        },
        "AWS::SSM::PatchBaseline.RuleGroup": {
            "additionalProperties": false,
            "properties": {
                "PatchRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SSM::ResourceDataSync": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BucketName": {
                            "type": "string"
                        },
                        "BucketPrefix": {
                            "type": "string"
                        },
                        "BucketRegion": {
                            "type": "string"
                        },
                        "KMSKeyArn": {
                            "type": "string"
                        },
                        "S3Destination": {
                            "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination"
                        },
                        "SyncFormat": {
                            "type": "string"
                        },
                        "SyncName": {
                            "type": "string"
                        },
                        "SyncSource": {
                            "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource"
                        },
                        "SyncType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SyncName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSM::ResourceDataSync"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": {
            "additionalProperties": false,
            "properties": {
                "OrganizationSourceType": {
                    "type": "string"
                },
                "OrganizationalUnits": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "OrganizationSourceType"
            ],
            "type": "object"
        },
        "AWS::SSM::ResourceDataSync.S3Destination": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "BucketRegion": {
                    "type": "string"
                },
                "KMSKeyArn": {
                    "type": "string"
                },
                "SyncFormat": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName",
                "BucketRegion",
                "SyncFormat"
            ],
            "type": "object"
        },
        "AWS::SSM::ResourceDataSync.SyncSource": {
            "additionalProperties": false,
            "properties": {
                "AwsOrganizationsSource": {
                    "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource"
                },
                "IncludeFutureRegions": {
                    "type": "boolean"
                },
                "SourceRegions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SourceType": {
                    "type": "string"
                }
            },
            "required": [
                "SourceRegions",
                "SourceType"
            ],
            "type": "object"
        },
        "AWS::SSMContacts::Contact": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Alias": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "Plan": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Alias",
                        "DisplayName",
                        "Plan",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSMContacts::Contact"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSMContacts::Contact.Stage": {
            "additionalProperties": false,
            "properties": {
                "DurationInMinutes": {
                    "type": "number"
                },
                "Targets": {
                    "items": {
                        "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DurationInMinutes"
            ],
            "type": "object"
        },
        "AWS::SSMContacts::Contact.Targets": {
            "additionalProperties": false,
            "properties": {
                "ChannelTargetInfo": {
                    "type": "object"
                },
                "ContactTargetInfo": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::SSMContacts::ContactChannel": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ChannelAddress": {
                            "type": "string"
                        },
                        "ChannelName": {
                            "type": "string"
                        },
                        "ChannelType": {
                            "type": "string"
                        },
                        "ContactId": {
                            "type": "string"
                        },
                        "DeferActivation": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "ChannelAddress",
                        "ChannelName",
                        "ChannelType",
                        "ContactId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSMContacts::ContactChannel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSMIncidents::ReplicationSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeletionProtected": {
                            "type": "boolean"
                        },
                        "Regions": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Regions"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSMIncidents::ReplicationSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "SseKmsKeyId": {
                    "type": "string"
                }
            },
            "required": [
                "SseKmsKeyId"
            ],
            "type": "object"
        },
        "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": {
            "additionalProperties": false,
            "properties": {
                "RegionConfiguration": {
                    "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration"
                },
                "RegionName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SSMIncidents::ResponsePlan": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Actions": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action"
                            },
                            "type": "array"
                        },
                        "ChatChannel": {
                            "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "Engagements": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "IncidentTemplate": {
                            "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "IncidentTemplate",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSMIncidents::ResponsePlan"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSMIncidents::ResponsePlan.Action": {
            "additionalProperties": false,
            "properties": {
                "SsmAutomation": {
                    "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation"
                }
            },
            "type": "object"
        },
        "AWS::SSMIncidents::ResponsePlan.ChatChannel": {
            "additionalProperties": false,
            "properties": {
                "ChatbotSns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": {
            "additionalProperties": false,
            "properties": {
                "DedupeString": {
                    "type": "string"
                },
                "Impact": {
                    "type": "number"
                },
                "NotificationTargets": {
                    "items": {
                        "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem"
                    },
                    "type": "array"
                },
                "Summary": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                }
            },
            "required": [
                "Impact",
                "Title"
            ],
            "type": "object"
        },
        "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": {
            "additionalProperties": false,
            "properties": {
                "SnsTopicArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SSMIncidents::ResponsePlan.SsmAutomation": {
            "additionalProperties": false,
            "properties": {
                "DocumentName": {
                    "type": "string"
                },
                "DocumentVersion": {
                    "type": "string"
                },
                "Parameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter"
                    },
                    "type": "array"
                },
                "RoleArn": {
                    "type": "string"
                },
                "TargetAccount": {
                    "type": "string"
                }
            },
            "required": [
                "DocumentName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::SSMIncidents::ResponsePlan.SsmParameter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Values": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Key",
                "Values"
            ],
            "type": "object"
        },
        "AWS::SSO::Assignment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InstanceArn": {
                            "type": "string"
                        },
                        "PermissionSetArn": {
                            "type": "string"
                        },
                        "PrincipalId": {
                            "type": "string"
                        },
                        "PrincipalType": {
                            "type": "string"
                        },
                        "TargetId": {
                            "type": "string"
                        },
                        "TargetType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "PermissionSetArn",
                        "PrincipalId",
                        "PrincipalType",
                        "TargetId",
                        "TargetType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSO::Assignment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSO::InstanceAccessControlAttributeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessControlAttributes": {
                            "items": {
                                "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute"
                            },
                            "type": "array"
                        },
                        "InstanceArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSO::InstanceAccessControlAttributeConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": {
            "additionalProperties": false,
            "properties": {
                "Source": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Source"
            ],
            "type": "object"
        },
        "AWS::SSO::PermissionSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "InlinePolicy": {
                            "type": "object"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "ManagedPolicies": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RelayStateType": {
                            "type": "string"
                        },
                        "SessionDuration": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SSO::PermissionSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::App": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppName": {
                            "type": "string"
                        },
                        "AppType": {
                            "type": "string"
                        },
                        "DomainId": {
                            "type": "string"
                        },
                        "ResourceSpec": {
                            "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserProfileName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AppName",
                        "AppType",
                        "DomainId",
                        "UserProfileName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::App"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::App.ResourceSpec": {
            "additionalProperties": false,
            "properties": {
                "InstanceType": {
                    "type": "string"
                },
                "SageMakerImageArn": {
                    "type": "string"
                },
                "SageMakerImageVersionArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::AppImageConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppImageConfigName": {
                            "type": "string"
                        },
                        "KernelGatewayImageConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AppImageConfigName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::AppImageConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::AppImageConfig.FileSystemConfig": {
            "additionalProperties": false,
            "properties": {
                "DefaultGid": {
                    "type": "number"
                },
                "DefaultUid": {
                    "type": "number"
                },
                "MountPath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": {
            "additionalProperties": false,
            "properties": {
                "FileSystemConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig"
                },
                "KernelSpecs": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec"
                    },
                    "type": "array"
                }
            },
            "required": [
                "KernelSpecs"
            ],
            "type": "object"
        },
        "AWS::SageMaker::AppImageConfig.KernelSpec": {
            "additionalProperties": false,
            "properties": {
                "DisplayName": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::SageMaker::CodeRepository": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CodeRepositoryName": {
                            "type": "string"
                        },
                        "GitConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig"
                        }
                    },
                    "required": [
                        "GitConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::CodeRepository"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::CodeRepository.GitConfig": {
            "additionalProperties": false,
            "properties": {
                "Branch": {
                    "type": "string"
                },
                "RepositoryUrl": {
                    "type": "string"
                },
                "SecretArn": {
                    "type": "string"
                }
            },
            "required": [
                "RepositoryUrl"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataQualityAppSpecification": {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification"
                        },
                        "DataQualityBaselineConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig"
                        },
                        "DataQualityJobInput": {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput"
                        },
                        "DataQualityJobOutputConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig"
                        },
                        "JobDefinitionName": {
                            "type": "string"
                        },
                        "JobResources": {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources"
                        },
                        "NetworkConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StoppingCondition": {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DataQualityAppSpecification",
                        "DataQualityJobInput",
                        "DataQualityJobOutputConfig",
                        "JobResources",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::DataQualityJobDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": {
            "additionalProperties": false,
            "properties": {
                "InstanceCount": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "VolumeKmsKeyId": {
                    "type": "string"
                },
                "VolumeSizeInGB": {
                    "type": "number"
                }
            },
            "required": [
                "InstanceCount",
                "InstanceType",
                "VolumeSizeInGB"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": {
            "additionalProperties": false,
            "properties": {
                "ContainerArguments": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ContainerEntrypoint": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Environment": {
                    "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment"
                },
                "ImageUri": {
                    "type": "string"
                },
                "PostAnalyticsProcessorSourceUri": {
                    "type": "string"
                },
                "RecordPreprocessorSourceUri": {
                    "type": "string"
                }
            },
            "required": [
                "ImageUri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": {
            "additionalProperties": false,
            "properties": {
                "BaseliningJobName": {
                    "type": "string"
                },
                "ConstraintsResource": {
                    "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource"
                },
                "StatisticsResource": {
                    "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointInput": {
                    "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput"
                }
            },
            "required": [
                "EndpointInput"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointName": {
                    "type": "string"
                },
                "LocalPath": {
                    "type": "string"
                },
                "S3DataDistributionType": {
                    "type": "string"
                },
                "S3InputMode": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointName",
                "LocalPath"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.Environment": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": {
            "additionalProperties": false,
            "properties": {
                "S3Output": {
                    "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output"
                }
            },
            "required": [
                "S3Output"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "MonitoringOutputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MonitoringOutputs"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": {
            "additionalProperties": false,
            "properties": {
                "ClusterConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig"
                }
            },
            "required": [
                "ClusterConfig"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableInterContainerTrafficEncryption": {
                    "type": "boolean"
                },
                "EnableNetworkIsolation": {
                    "type": "boolean"
                },
                "VpcConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.S3Output": {
            "additionalProperties": false,
            "properties": {
                "LocalPath": {
                    "type": "string"
                },
                "S3UploadMode": {
                    "type": "string"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "LocalPath",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": {
            "additionalProperties": false,
            "properties": {
                "MaxRuntimeInSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRuntimeInSeconds"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Device": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Device": {
                            "type": "object"
                        },
                        "DeviceFleetName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DeviceFleetName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Device"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Device.Device": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "DeviceName": {
                    "type": "string"
                },
                "IotThingName": {
                    "type": "string"
                }
            },
            "required": [
                "DeviceName"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DeviceFleet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "DeviceFleetName": {
                            "type": "string"
                        },
                        "OutputConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DeviceFleetName",
                        "OutputConfig",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::DeviceFleet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "S3OutputLocation": {
                    "type": "string"
                }
            },
            "required": [
                "S3OutputLocation"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Domain": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppNetworkAccessType": {
                            "type": "string"
                        },
                        "AuthMode": {
                            "type": "string"
                        },
                        "DefaultUserSettings": {
                            "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AuthMode",
                        "DefaultUserSettings",
                        "DomainName",
                        "SubnetIds",
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Domain"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Domain.CustomImage": {
            "additionalProperties": false,
            "properties": {
                "AppImageConfigName": {
                    "type": "string"
                },
                "ImageName": {
                    "type": "string"
                },
                "ImageVersionNumber": {
                    "type": "number"
                }
            },
            "required": [
                "AppImageConfigName",
                "ImageName"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Domain.JupyterServerAppSettings": {
            "additionalProperties": false,
            "properties": {
                "DefaultResourceSpec": {
                    "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Domain.KernelGatewayAppSettings": {
            "additionalProperties": false,
            "properties": {
                "CustomImages": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage"
                    },
                    "type": "array"
                },
                "DefaultResourceSpec": {
                    "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Domain.ResourceSpec": {
            "additionalProperties": false,
            "properties": {
                "InstanceType": {
                    "type": "string"
                },
                "SageMakerImageArn": {
                    "type": "string"
                },
                "SageMakerImageVersionArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Domain.SharingSettings": {
            "additionalProperties": false,
            "properties": {
                "NotebookOutputOption": {
                    "type": "string"
                },
                "S3KmsKeyId": {
                    "type": "string"
                },
                "S3OutputPath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Domain.UserSettings": {
            "additionalProperties": false,
            "properties": {
                "ExecutionRole": {
                    "type": "string"
                },
                "JupyterServerAppSettings": {
                    "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings"
                },
                "KernelGatewayAppSettings": {
                    "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SharingSettings": {
                    "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Endpoint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DeploymentConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig"
                        },
                        "EndpointConfigName": {
                            "type": "string"
                        },
                        "EndpointName": {
                            "type": "string"
                        },
                        "ExcludeRetainedVariantProperties": {
                            "items": {
                                "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty"
                            },
                            "type": "array"
                        },
                        "RetainAllVariantProperties": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "EndpointConfigName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Endpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Endpoint.Alarm": {
            "additionalProperties": false,
            "properties": {
                "AlarmName": {
                    "type": "string"
                }
            },
            "required": [
                "AlarmName"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Endpoint.AutoRollbackConfig": {
            "additionalProperties": false,
            "properties": {
                "Alarms": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Alarms"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": {
            "additionalProperties": false,
            "properties": {
                "MaximumExecutionTimeoutInSeconds": {
                    "type": "number"
                },
                "TerminationWaitInSeconds": {
                    "type": "number"
                },
                "TrafficRoutingConfiguration": {
                    "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig"
                }
            },
            "required": [
                "TrafficRoutingConfiguration"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Endpoint.CapacitySize": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Endpoint.DeploymentConfig": {
            "additionalProperties": false,
            "properties": {
                "AutoRollbackConfiguration": {
                    "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig"
                },
                "BlueGreenUpdatePolicy": {
                    "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy"
                }
            },
            "required": [
                "BlueGreenUpdatePolicy"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Endpoint.TrafficRoutingConfig": {
            "additionalProperties": false,
            "properties": {
                "CanarySize": {
                    "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize"
                },
                "Type": {
                    "type": "string"
                },
                "WaitIntervalInSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Endpoint.VariantProperty": {
            "additionalProperties": false,
            "properties": {
                "VariantPropertyType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::EndpointConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataCaptureConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig"
                        },
                        "EndpointConfigName": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "ProductionVariants": {
                            "items": {
                                "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ProductionVariants"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::EndpointConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": {
            "additionalProperties": false,
            "properties": {
                "CsvContentTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "JsonContentTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::EndpointConfig.CaptureOption": {
            "additionalProperties": false,
            "properties": {
                "CaptureMode": {
                    "type": "string"
                }
            },
            "required": [
                "CaptureMode"
            ],
            "type": "object"
        },
        "AWS::SageMaker::EndpointConfig.DataCaptureConfig": {
            "additionalProperties": false,
            "properties": {
                "CaptureContentTypeHeader": {
                    "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader"
                },
                "CaptureOptions": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption"
                    },
                    "type": "array"
                },
                "DestinationS3Uri": {
                    "type": "string"
                },
                "EnableCapture": {
                    "type": "boolean"
                },
                "InitialSamplingPercentage": {
                    "type": "number"
                },
                "KmsKeyId": {
                    "type": "string"
                }
            },
            "required": [
                "CaptureOptions",
                "DestinationS3Uri",
                "InitialSamplingPercentage"
            ],
            "type": "object"
        },
        "AWS::SageMaker::EndpointConfig.ProductionVariant": {
            "additionalProperties": false,
            "properties": {
                "AcceleratorType": {
                    "type": "string"
                },
                "InitialInstanceCount": {
                    "type": "number"
                },
                "InitialVariantWeight": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "ModelName": {
                    "type": "string"
                },
                "VariantName": {
                    "type": "string"
                }
            },
            "required": [
                "InitialInstanceCount",
                "InitialVariantWeight",
                "InstanceType",
                "ModelName",
                "VariantName"
            ],
            "type": "object"
        },
        "AWS::SageMaker::FeatureGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "EventTimeFeatureName": {
                            "type": "string"
                        },
                        "FeatureDefinitions": {
                            "items": {
                                "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition"
                            },
                            "type": "array"
                        },
                        "FeatureGroupName": {
                            "type": "string"
                        },
                        "OfflineStoreConfig": {
                            "type": "object"
                        },
                        "OnlineStoreConfig": {
                            "type": "object"
                        },
                        "RecordIdentifierFeatureName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "EventTimeFeatureName",
                        "FeatureDefinitions",
                        "FeatureGroupName",
                        "RecordIdentifierFeatureName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::FeatureGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::FeatureGroup.FeatureDefinition": {
            "additionalProperties": false,
            "properties": {
                "FeatureName": {
                    "type": "string"
                },
                "FeatureType": {
                    "type": "string"
                }
            },
            "required": [
                "FeatureName",
                "FeatureType"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Image": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ImageDescription": {
                            "type": "string"
                        },
                        "ImageDisplayName": {
                            "type": "string"
                        },
                        "ImageName": {
                            "type": "string"
                        },
                        "ImageRoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ImageName",
                        "ImageRoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Image"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ImageVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BaseImage": {
                            "type": "string"
                        },
                        "ImageName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "BaseImage",
                        "ImageName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::ImageVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Model": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Containers": {
                            "items": {
                                "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition"
                            },
                            "type": "array"
                        },
                        "EnableNetworkIsolation": {
                            "type": "boolean"
                        },
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "InferenceExecutionConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig"
                        },
                        "ModelName": {
                            "type": "string"
                        },
                        "PrimaryContainer": {
                            "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig"
                        }
                    },
                    "required": [
                        "ExecutionRoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Model"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Model.ContainerDefinition": {
            "additionalProperties": false,
            "properties": {
                "ContainerHostname": {
                    "type": "string"
                },
                "Environment": {
                    "type": "object"
                },
                "Image": {
                    "type": "string"
                },
                "ImageConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig"
                },
                "Mode": {
                    "type": "string"
                },
                "ModelDataUrl": {
                    "type": "string"
                },
                "ModelPackageName": {
                    "type": "string"
                },
                "MultiModelConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Model.ImageConfig": {
            "additionalProperties": false,
            "properties": {
                "RepositoryAccessMode": {
                    "type": "string"
                }
            },
            "required": [
                "RepositoryAccessMode"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Model.InferenceExecutionConfig": {
            "additionalProperties": false,
            "properties": {
                "Mode": {
                    "type": "string"
                }
            },
            "required": [
                "Mode"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Model.MultiModelConfig": {
            "additionalProperties": false,
            "properties": {
                "ModelCacheSetting": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Model.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "JobDefinitionName": {
                            "type": "string"
                        },
                        "JobResources": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources"
                        },
                        "ModelBiasAppSpecification": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification"
                        },
                        "ModelBiasBaselineConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig"
                        },
                        "ModelBiasJobInput": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput"
                        },
                        "ModelBiasJobOutputConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig"
                        },
                        "NetworkConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StoppingCondition": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "JobResources",
                        "ModelBiasAppSpecification",
                        "ModelBiasJobInput",
                        "ModelBiasJobOutputConfig",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::ModelBiasJobDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": {
            "additionalProperties": false,
            "properties": {
                "InstanceCount": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "VolumeKmsKeyId": {
                    "type": "string"
                },
                "VolumeSizeInGB": {
                    "type": "number"
                }
            },
            "required": [
                "InstanceCount",
                "InstanceType",
                "VolumeSizeInGB"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": {
            "additionalProperties": false,
            "properties": {
                "EndTimeOffset": {
                    "type": "string"
                },
                "EndpointName": {
                    "type": "string"
                },
                "FeaturesAttribute": {
                    "type": "string"
                },
                "InferenceAttribute": {
                    "type": "string"
                },
                "LocalPath": {
                    "type": "string"
                },
                "ProbabilityAttribute": {
                    "type": "string"
                },
                "ProbabilityThresholdAttribute": {
                    "type": "number"
                },
                "S3DataDistributionType": {
                    "type": "string"
                },
                "S3InputMode": {
                    "type": "string"
                },
                "StartTimeOffset": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointName",
                "LocalPath"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.Environment": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": {
            "additionalProperties": false,
            "properties": {
                "ConfigUri": {
                    "type": "string"
                },
                "Environment": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment"
                },
                "ImageUri": {
                    "type": "string"
                }
            },
            "required": [
                "ConfigUri",
                "ImageUri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": {
            "additionalProperties": false,
            "properties": {
                "BaseliningJobName": {
                    "type": "string"
                },
                "ConstraintsResource": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointInput": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput"
                },
                "GroundTruthS3Input": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input"
                }
            },
            "required": [
                "EndpointInput",
                "GroundTruthS3Input"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": {
            "additionalProperties": false,
            "properties": {
                "S3Output": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output"
                }
            },
            "required": [
                "S3Output"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "MonitoringOutputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MonitoringOutputs"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": {
            "additionalProperties": false,
            "properties": {
                "ClusterConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig"
                }
            },
            "required": [
                "ClusterConfig"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableInterContainerTrafficEncryption": {
                    "type": "boolean"
                },
                "EnableNetworkIsolation": {
                    "type": "boolean"
                },
                "VpcConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.S3Output": {
            "additionalProperties": false,
            "properties": {
                "LocalPath": {
                    "type": "string"
                },
                "S3UploadMode": {
                    "type": "string"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "LocalPath",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": {
            "additionalProperties": false,
            "properties": {
                "MaxRuntimeInSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRuntimeInSeconds"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "JobDefinitionName": {
                            "type": "string"
                        },
                        "JobResources": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources"
                        },
                        "ModelExplainabilityAppSpecification": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification"
                        },
                        "ModelExplainabilityBaselineConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig"
                        },
                        "ModelExplainabilityJobInput": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput"
                        },
                        "ModelExplainabilityJobOutputConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig"
                        },
                        "NetworkConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StoppingCondition": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "JobResources",
                        "ModelExplainabilityAppSpecification",
                        "ModelExplainabilityJobInput",
                        "ModelExplainabilityJobOutputConfig",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::ModelExplainabilityJobDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": {
            "additionalProperties": false,
            "properties": {
                "InstanceCount": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "VolumeKmsKeyId": {
                    "type": "string"
                },
                "VolumeSizeInGB": {
                    "type": "number"
                }
            },
            "required": [
                "InstanceCount",
                "InstanceType",
                "VolumeSizeInGB"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointName": {
                    "type": "string"
                },
                "FeaturesAttribute": {
                    "type": "string"
                },
                "InferenceAttribute": {
                    "type": "string"
                },
                "LocalPath": {
                    "type": "string"
                },
                "ProbabilityAttribute": {
                    "type": "string"
                },
                "S3DataDistributionType": {
                    "type": "string"
                },
                "S3InputMode": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointName",
                "LocalPath"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": {
            "additionalProperties": false,
            "properties": {
                "ConfigUri": {
                    "type": "string"
                },
                "Environment": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment"
                },
                "ImageUri": {
                    "type": "string"
                }
            },
            "required": [
                "ConfigUri",
                "ImageUri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": {
            "additionalProperties": false,
            "properties": {
                "BaseliningJobName": {
                    "type": "string"
                },
                "ConstraintsResource": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointInput": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput"
                }
            },
            "required": [
                "EndpointInput"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": {
            "additionalProperties": false,
            "properties": {
                "S3Output": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output"
                }
            },
            "required": [
                "S3Output"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "MonitoringOutputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MonitoringOutputs"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": {
            "additionalProperties": false,
            "properties": {
                "ClusterConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig"
                }
            },
            "required": [
                "ClusterConfig"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableInterContainerTrafficEncryption": {
                    "type": "boolean"
                },
                "EnableNetworkIsolation": {
                    "type": "boolean"
                },
                "VpcConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": {
            "additionalProperties": false,
            "properties": {
                "LocalPath": {
                    "type": "string"
                },
                "S3UploadMode": {
                    "type": "string"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "LocalPath",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": {
            "additionalProperties": false,
            "properties": {
                "MaxRuntimeInSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRuntimeInSeconds"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelPackageGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ModelPackageGroupDescription": {
                            "type": "string"
                        },
                        "ModelPackageGroupName": {
                            "type": "string"
                        },
                        "ModelPackageGroupPolicy": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ModelPackageGroupName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::ModelPackageGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "JobDefinitionName": {
                            "type": "string"
                        },
                        "JobResources": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources"
                        },
                        "ModelQualityAppSpecification": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification"
                        },
                        "ModelQualityBaselineConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig"
                        },
                        "ModelQualityJobInput": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput"
                        },
                        "ModelQualityJobOutputConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig"
                        },
                        "NetworkConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StoppingCondition": {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "JobResources",
                        "ModelQualityAppSpecification",
                        "ModelQualityJobInput",
                        "ModelQualityJobOutputConfig",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::ModelQualityJobDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": {
            "additionalProperties": false,
            "properties": {
                "InstanceCount": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "VolumeKmsKeyId": {
                    "type": "string"
                },
                "VolumeSizeInGB": {
                    "type": "number"
                }
            },
            "required": [
                "InstanceCount",
                "InstanceType",
                "VolumeSizeInGB"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": {
            "additionalProperties": false,
            "properties": {
                "EndTimeOffset": {
                    "type": "string"
                },
                "EndpointName": {
                    "type": "string"
                },
                "InferenceAttribute": {
                    "type": "string"
                },
                "LocalPath": {
                    "type": "string"
                },
                "ProbabilityAttribute": {
                    "type": "string"
                },
                "ProbabilityThresholdAttribute": {
                    "type": "number"
                },
                "S3DataDistributionType": {
                    "type": "string"
                },
                "S3InputMode": {
                    "type": "string"
                },
                "StartTimeOffset": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointName",
                "LocalPath"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.Environment": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": {
            "additionalProperties": false,
            "properties": {
                "ContainerArguments": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ContainerEntrypoint": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Environment": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment"
                },
                "ImageUri": {
                    "type": "string"
                },
                "PostAnalyticsProcessorSourceUri": {
                    "type": "string"
                },
                "ProblemType": {
                    "type": "string"
                },
                "RecordPreprocessorSourceUri": {
                    "type": "string"
                }
            },
            "required": [
                "ImageUri",
                "ProblemType"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": {
            "additionalProperties": false,
            "properties": {
                "BaseliningJobName": {
                    "type": "string"
                },
                "ConstraintsResource": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointInput": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput"
                },
                "GroundTruthS3Input": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input"
                }
            },
            "required": [
                "EndpointInput",
                "GroundTruthS3Input"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": {
            "additionalProperties": false,
            "properties": {
                "S3Output": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output"
                }
            },
            "required": [
                "S3Output"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "MonitoringOutputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MonitoringOutputs"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": {
            "additionalProperties": false,
            "properties": {
                "ClusterConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig"
                }
            },
            "required": [
                "ClusterConfig"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableInterContainerTrafficEncryption": {
                    "type": "boolean"
                },
                "EnableNetworkIsolation": {
                    "type": "boolean"
                },
                "VpcConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.S3Output": {
            "additionalProperties": false,
            "properties": {
                "LocalPath": {
                    "type": "string"
                },
                "S3UploadMode": {
                    "type": "string"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "LocalPath",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": {
            "additionalProperties": false,
            "properties": {
                "MaxRuntimeInSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRuntimeInSeconds"
            ],
            "type": "object"
        },
        "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EndpointName": {
                            "type": "string"
                        },
                        "FailureReason": {
                            "type": "string"
                        },
                        "LastMonitoringExecutionSummary": {
                            "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary"
                        },
                        "MonitoringScheduleConfig": {
                            "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig"
                        },
                        "MonitoringScheduleName": {
                            "type": "string"
                        },
                        "MonitoringScheduleStatus": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "MonitoringScheduleConfig",
                        "MonitoringScheduleName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::MonitoringSchedule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.BaselineConfig": {
            "additionalProperties": false,
            "properties": {
                "ConstraintsResource": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource"
                },
                "StatisticsResource": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.ClusterConfig": {
            "additionalProperties": false,
            "properties": {
                "InstanceCount": {
                    "type": "number"
                },
                "InstanceType": {
                    "type": "string"
                },
                "VolumeKmsKeyId": {
                    "type": "string"
                },
                "VolumeSizeInGB": {
                    "type": "number"
                }
            },
            "required": [
                "InstanceCount",
                "InstanceType",
                "VolumeSizeInGB"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.EndpointInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointName": {
                    "type": "string"
                },
                "LocalPath": {
                    "type": "string"
                },
                "S3DataDistributionType": {
                    "type": "string"
                },
                "S3InputMode": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointName",
                "LocalPath"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.Environment": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": {
            "additionalProperties": false,
            "properties": {
                "ContainerArguments": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ContainerEntrypoint": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ImageUri": {
                    "type": "string"
                },
                "PostAnalyticsProcessorSourceUri": {
                    "type": "string"
                },
                "RecordPreprocessorSourceUri": {
                    "type": "string"
                }
            },
            "required": [
                "ImageUri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": {
            "additionalProperties": false,
            "properties": {
                "CreationTime": {
                    "type": "string"
                },
                "EndpointName": {
                    "type": "string"
                },
                "FailureReason": {
                    "type": "string"
                },
                "LastModifiedTime": {
                    "type": "string"
                },
                "MonitoringExecutionStatus": {
                    "type": "string"
                },
                "MonitoringScheduleName": {
                    "type": "string"
                },
                "ProcessingJobArn": {
                    "type": "string"
                },
                "ScheduledTime": {
                    "type": "string"
                }
            },
            "required": [
                "CreationTime",
                "LastModifiedTime",
                "MonitoringExecutionStatus",
                "MonitoringScheduleName",
                "ScheduledTime"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringInput": {
            "additionalProperties": false,
            "properties": {
                "EndpointInput": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput"
                }
            },
            "required": [
                "EndpointInput"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": {
            "additionalProperties": false,
            "properties": {
                "BaselineConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig"
                },
                "Environment": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment"
                },
                "MonitoringAppSpecification": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification"
                },
                "MonitoringInputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput"
                    },
                    "type": "array"
                },
                "MonitoringOutputConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig"
                },
                "MonitoringResources": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources"
                },
                "NetworkConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig"
                },
                "RoleArn": {
                    "type": "string"
                },
                "StoppingCondition": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition"
                }
            },
            "required": [
                "MonitoringAppSpecification",
                "MonitoringInputs",
                "MonitoringOutputConfig",
                "MonitoringResources",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": {
            "additionalProperties": false,
            "properties": {
                "S3Output": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output"
                }
            },
            "required": [
                "S3Output"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "MonitoringOutputs": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MonitoringOutputs"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringResources": {
            "additionalProperties": false,
            "properties": {
                "ClusterConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig"
                }
            },
            "required": [
                "ClusterConfig"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": {
            "additionalProperties": false,
            "properties": {
                "MonitoringJobDefinition": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition"
                },
                "MonitoringJobDefinitionName": {
                    "type": "string"
                },
                "MonitoringType": {
                    "type": "string"
                },
                "ScheduleConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.NetworkConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableInterContainerTrafficEncryption": {
                    "type": "boolean"
                },
                "EnableNetworkIsolation": {
                    "type": "boolean"
                },
                "VpcConfig": {
                    "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.S3Output": {
            "additionalProperties": false,
            "properties": {
                "LocalPath": {
                    "type": "string"
                },
                "S3UploadMode": {
                    "type": "string"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "LocalPath",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": {
            "additionalProperties": false,
            "properties": {
                "ScheduleExpression": {
                    "type": "string"
                }
            },
            "required": [
                "ScheduleExpression"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.StatisticsResource": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.StoppingCondition": {
            "additionalProperties": false,
            "properties": {
                "MaxRuntimeInSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "MaxRuntimeInSeconds"
            ],
            "type": "object"
        },
        "AWS::SageMaker::MonitoringSchedule.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::SageMaker::NotebookInstance": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceleratorTypes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AdditionalCodeRepositories": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "DefaultCodeRepository": {
                            "type": "string"
                        },
                        "DirectInternetAccess": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "LifecycleConfigName": {
                            "type": "string"
                        },
                        "NotebookInstanceName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "RootAccess": {
                            "type": "string"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VolumeSizeInGB": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "InstanceType",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::NotebookInstance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::NotebookInstanceLifecycleConfig": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "NotebookInstanceLifecycleConfigName": {
                            "type": "string"
                        },
                        "OnCreate": {
                            "items": {
                                "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook"
                            },
                            "type": "array"
                        },
                        "OnStart": {
                            "items": {
                                "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::NotebookInstanceLifecycleConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": {
            "additionalProperties": false,
            "properties": {
                "Content": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Pipeline": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PipelineDefinition": {
                            "type": "object"
                        },
                        "PipelineDescription": {
                            "type": "string"
                        },
                        "PipelineDisplayName": {
                            "type": "string"
                        },
                        "PipelineName": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PipelineDefinition",
                        "PipelineName",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Pipeline"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Project": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ProjectDescription": {
                            "type": "string"
                        },
                        "ProjectName": {
                            "type": "string"
                        },
                        "ServiceCatalogProvisioningDetails": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ProjectName",
                        "ServiceCatalogProvisioningDetails"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Project"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::UserProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DomainId": {
                            "type": "string"
                        },
                        "SingleSignOnUserIdentifier": {
                            "type": "string"
                        },
                        "SingleSignOnUserValue": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserProfileName": {
                            "type": "string"
                        },
                        "UserSettings": {
                            "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings"
                        }
                    },
                    "required": [
                        "DomainId",
                        "UserProfileName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::UserProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SageMaker::UserProfile.CustomImage": {
            "additionalProperties": false,
            "properties": {
                "AppImageConfigName": {
                    "type": "string"
                },
                "ImageName": {
                    "type": "string"
                },
                "ImageVersionNumber": {
                    "type": "number"
                }
            },
            "required": [
                "AppImageConfigName",
                "ImageName"
            ],
            "type": "object"
        },
        "AWS::SageMaker::UserProfile.JupyterServerAppSettings": {
            "additionalProperties": false,
            "properties": {
                "DefaultResourceSpec": {
                    "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": {
            "additionalProperties": false,
            "properties": {
                "CustomImages": {
                    "items": {
                        "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage"
                    },
                    "type": "array"
                },
                "DefaultResourceSpec": {
                    "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::UserProfile.ResourceSpec": {
            "additionalProperties": false,
            "properties": {
                "InstanceType": {
                    "type": "string"
                },
                "SageMakerImageArn": {
                    "type": "string"
                },
                "SageMakerImageVersionArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::UserProfile.SharingSettings": {
            "additionalProperties": false,
            "properties": {
                "NotebookOutputOption": {
                    "type": "string"
                },
                "S3KmsKeyId": {
                    "type": "string"
                },
                "S3OutputPath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::UserProfile.UserSettings": {
            "additionalProperties": false,
            "properties": {
                "ExecutionRole": {
                    "type": "string"
                },
                "JupyterServerAppSettings": {
                    "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings"
                },
                "KernelGatewayAppSettings": {
                    "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings"
                },
                "SecurityGroups": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SharingSettings": {
                    "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings"
                }
            },
            "type": "object"
        },
        "AWS::SageMaker::Workteam": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "MemberDefinitions": {
                            "items": {
                                "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition"
                            },
                            "type": "array"
                        },
                        "NotificationConfiguration": {
                            "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "WorkteamName": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SageMaker::Workteam"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Workteam.CognitoMemberDefinition": {
            "additionalProperties": false,
            "properties": {
                "CognitoClientId": {
                    "type": "string"
                },
                "CognitoUserGroup": {
                    "type": "string"
                },
                "CognitoUserPool": {
                    "type": "string"
                }
            },
            "required": [
                "CognitoClientId",
                "CognitoUserGroup",
                "CognitoUserPool"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Workteam.MemberDefinition": {
            "additionalProperties": false,
            "properties": {
                "CognitoMemberDefinition": {
                    "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition"
                }
            },
            "required": [
                "CognitoMemberDefinition"
            ],
            "type": "object"
        },
        "AWS::SageMaker::Workteam.NotificationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "NotificationTopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "NotificationTopicArn"
            ],
            "type": "object"
        },
        "AWS::SecretsManager::ResourcePolicy": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BlockPublicPolicy": {
                            "type": "boolean"
                        },
                        "ResourcePolicy": {
                            "type": "object"
                        },
                        "SecretId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResourcePolicy",
                        "SecretId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SecretsManager::ResourcePolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SecretsManager::RotationSchedule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HostedRotationLambda": {
                            "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda"
                        },
                        "RotationLambdaARN": {
                            "type": "string"
                        },
                        "RotationRules": {
                            "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules"
                        },
                        "SecretId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SecretId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SecretsManager::RotationSchedule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyArn": {
                    "type": "string"
                },
                "MasterSecretArn": {
                    "type": "string"
                },
                "MasterSecretKmsKeyArn": {
                    "type": "string"
                },
                "RotationLambdaName": {
                    "type": "string"
                },
                "RotationType": {
                    "type": "string"
                },
                "VpcSecurityGroupIds": {
                    "type": "string"
                },
                "VpcSubnetIds": {
                    "type": "string"
                }
            },
            "required": [
                "RotationType"
            ],
            "type": "object"
        },
        "AWS::SecretsManager::RotationSchedule.RotationRules": {
            "additionalProperties": false,
            "properties": {
                "AutomaticallyAfterDays": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::SecretsManager::Secret": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "GenerateSecretString": {
                            "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ReplicaRegions": {
                            "items": {
                                "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion"
                            },
                            "type": "array"
                        },
                        "SecretString": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SecretsManager::Secret"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::SecretsManager::Secret.GenerateSecretString": {
            "additionalProperties": false,
            "properties": {
                "ExcludeCharacters": {
                    "type": "string"
                },
                "ExcludeLowercase": {
                    "type": "boolean"
                },
                "ExcludeNumbers": {
                    "type": "boolean"
                },
                "ExcludePunctuation": {
                    "type": "boolean"
                },
                "ExcludeUppercase": {
                    "type": "boolean"
                },
                "GenerateStringKey": {
                    "type": "string"
                },
                "IncludeSpace": {
                    "type": "boolean"
                },
                "PasswordLength": {
                    "type": "number"
                },
                "RequireEachIncludedType": {
                    "type": "boolean"
                },
                "SecretStringTemplate": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::SecretsManager::Secret.ReplicaRegion": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "Region": {
                    "type": "string"
                }
            },
            "required": [
                "Region"
            ],
            "type": "object"
        },
        "AWS::SecretsManager::SecretTargetAttachment": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SecretId": {
                            "type": "string"
                        },
                        "TargetId": {
                            "type": "string"
                        },
                        "TargetType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SecretId",
                        "TargetId",
                        "TargetType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SecretsManager::SecretTargetAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::SecurityHub::Hub": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Tags": {
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::SecurityHub::Hub"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::Api": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessLogSetting": {
                            "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting"
                        },
                        "Auth": {
                            "$ref": "#/definitions/AWS::Serverless::Api.Auth"
                        },
                        "BinaryMediaTypes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "CacheClusterEnabled": {
                            "type": "boolean"
                        },
                        "CacheClusterSize": {
                            "type": "string"
                        },
                        "Cors": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration"
                                }
                            ]
                        },
                        "DefinitionBody": {
                            "type": "object"
                        },
                        "DefinitionUri": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::Api.S3Location"
                                }
                            ]
                        },
                        "EndpointConfiguration": {
                            "type": "string"
                        },
                        "MethodSettings": {
                            "items": {
                                "type": "object"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OpenApiVersion": {
                            "type": "string"
                        },
                        "StageName": {
                            "type": "string"
                        },
                        "TracingEnabled": {
                            "type": "boolean"
                        },
                        "Variables": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "StageName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Serverless::Api"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Serverless::Api.AccessLogSetting": {
            "additionalProperties": false,
            "properties": {
                "DestinationArn": {
                    "type": "string"
                },
                "Format": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::Api.Auth": {
            "additionalProperties": false,
            "properties": {
                "Authorizers": {
                    "type": "object"
                },
                "DefaultAuthorizer": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::Api.CorsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AllowCredentials": {
                    "type": "boolean"
                },
                "AllowHeaders": {
                    "type": "string"
                },
                "AllowMethods": {
                    "type": "string"
                },
                "AllowOrigin": {
                    "type": "string"
                },
                "MaxAge": {
                    "type": "string"
                }
            },
            "required": [
                "AllowOrigin"
            ],
            "type": "object"
        },
        "AWS::Serverless::Api.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "number"
                }
            },
            "required": [
                "Bucket",
                "Key",
                "Version"
            ],
            "type": "object"
        },
        "AWS::Serverless::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Location": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation"
                                }
                            ]
                        },
                        "NotificationArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Parameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "TimeoutInMinutes": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Location"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Serverless::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Serverless::Application.ApplicationLocation": {
            "additionalProperties": false,
            "properties": {
                "ApplicationId": {
                    "type": "string"
                },
                "SemanticVersion": {
                    "type": "string"
                }
            },
            "required": [
                "ApplicationId",
                "SemanticVersion"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoPublishAlias": {
                            "type": "string"
                        },
                        "CodeUri": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::Function.S3Location"
                                }
                            ]
                        },
                        "DeadLetterQueue": {
                            "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue"
                        },
                        "DeploymentPreference": {
                            "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Environment": {
                            "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment"
                        },
                        "Events": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::Serverless::Function.EventSource"
                                }
                            },
                            "type": "object"
                        },
                        "FileSystemConfigs": {
                            "items": {
                                "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig"
                            },
                            "type": "array"
                        },
                        "FunctionName": {
                            "type": "string"
                        },
                        "Handler": {
                            "type": "string"
                        },
                        "KmsKeyArn": {
                            "type": "string"
                        },
                        "Layers": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "MemorySize": {
                            "type": "number"
                        },
                        "PermissionsBoundary": {
                            "type": "string"
                        },
                        "Policies": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument"
                                },
                                {
                                    "items": {
                                        "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument"
                                    },
                                    "type": "array"
                                },
                                {
                                    "items": {
                                        "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate"
                                    },
                                    "type": "array"
                                }
                            ]
                        },
                        "ProvisionedConcurrencyConfig": {
                            "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig"
                        },
                        "ReservedConcurrentExecutions": {
                            "type": "number"
                        },
                        "Role": {
                            "type": "string"
                        },
                        "Runtime": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Timeout": {
                            "type": "number"
                        },
                        "Tracing": {
                            "type": "string"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig"
                        }
                    },
                    "required": [
                        "CodeUri",
                        "Handler",
                        "Runtime"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Serverless::Function"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.AlexaSkillEvent": {
            "additionalProperties": false,
            "properties": {
                "Variables": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::Function.ApiEvent": {
            "additionalProperties": false,
            "properties": {
                "Method": {
                    "type": "string"
                },
                "Path": {
                    "type": "string"
                },
                "RestApiId": {
                    "type": "string"
                }
            },
            "required": [
                "Method",
                "Path"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.BucketSAMPT": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.CloudWatchEventEvent": {
            "additionalProperties": false,
            "properties": {
                "Input": {
                    "type": "string"
                },
                "InputPath": {
                    "type": "string"
                },
                "Pattern": {
                    "type": "object"
                }
            },
            "required": [
                "Pattern"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.CloudWatchLogsEvent": {
            "additionalProperties": false,
            "properties": {
                "FilterPattern": {
                    "type": "string"
                },
                "LogGroupName": {
                    "type": "string"
                }
            },
            "required": [
                "FilterPattern",
                "LogGroupName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.CollectionSAMPT": {
            "additionalProperties": false,
            "properties": {
                "CollectionId": {
                    "type": "string"
                }
            },
            "required": [
                "CollectionId"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.DeadLetterQueue": {
            "additionalProperties": false,
            "properties": {
                "TargetArn": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "TargetArn",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.DeploymentPreference": {
            "additionalProperties": false,
            "properties": {
                "Alarms": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Hooks": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Role": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::Function.DestinationConfig": {
            "additionalProperties": false,
            "properties": {
                "OnFailure": {
                    "$ref": "#/definitions/AWS::Serverless::Function.OnFailure"
                }
            },
            "required": [
                "OnFailure"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.DomainSAMPT": {
            "additionalProperties": false,
            "properties": {
                "DomainName": {
                    "type": "string"
                }
            },
            "required": [
                "DomainName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.DynamoDBEvent": {
            "additionalProperties": false,
            "properties": {
                "BatchSize": {
                    "type": "number"
                },
                "BisectBatchOnFunctionError": {
                    "type": "boolean"
                },
                "DestinationConfig": {
                    "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "MaximumBatchingWindowInSeconds": {
                    "type": "number"
                },
                "MaximumRecordAgeInSeconds": {
                    "type": "number"
                },
                "MaximumRetryAttempts": {
                    "type": "number"
                },
                "ParallelizationFactor": {
                    "type": "number"
                },
                "StartingPosition": {
                    "type": "string"
                },
                "Stream": {
                    "type": "string"
                }
            },
            "required": [
                "StartingPosition",
                "Stream"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.EmptySAMPT": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::Serverless::Function.EventBridgeRuleEvent": {
            "additionalProperties": false,
            "properties": {
                "EventBusName": {
                    "type": "string"
                },
                "Input": {
                    "type": "string"
                },
                "InputPath": {
                    "type": "string"
                },
                "Pattern": {
                    "type": "object"
                }
            },
            "required": [
                "Pattern"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.EventSource": {
            "additionalProperties": false,
            "properties": {
                "Properties": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.S3Event"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent"
                        }
                    ]
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Properties",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.FileSystemConfig": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "LocalMountPath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::Function.FunctionEnvironment": {
            "additionalProperties": false,
            "properties": {
                "Variables": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "required": [
                "Variables"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.FunctionSAMPT": {
            "additionalProperties": false,
            "properties": {
                "FunctionName": {
                    "type": "string"
                }
            },
            "required": [
                "FunctionName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.IAMPolicyDocument": {
            "additionalProperties": false,
            "properties": {
                "Statement": {
                    "type": "object"
                }
            },
            "required": [
                "Statement"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.IdentitySAMPT": {
            "additionalProperties": false,
            "properties": {
                "IdentityName": {
                    "type": "string"
                }
            },
            "required": [
                "IdentityName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.IoTRuleEvent": {
            "additionalProperties": false,
            "properties": {
                "AwsIotSqlVersion": {
                    "type": "string"
                },
                "Sql": {
                    "type": "string"
                }
            },
            "required": [
                "Sql"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.KeySAMPT": {
            "additionalProperties": false,
            "properties": {
                "KeyId": {
                    "type": "string"
                }
            },
            "required": [
                "KeyId"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.KinesisEvent": {
            "additionalProperties": false,
            "properties": {
                "BatchSize": {
                    "type": "number"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "StartingPosition": {
                    "type": "string"
                },
                "Stream": {
                    "type": "string"
                }
            },
            "required": [
                "StartingPosition",
                "Stream"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.LogGroupSAMPT": {
            "additionalProperties": false,
            "properties": {
                "LogGroupName": {
                    "type": "string"
                }
            },
            "required": [
                "LogGroupName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.OnFailure": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Destination"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.ProvisionedConcurrencyConfig": {
            "additionalProperties": false,
            "properties": {
                "ProvisionedConcurrentExecutions": {
                    "type": "string"
                }
            },
            "required": [
                "ProvisionedConcurrentExecutions"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.QueueSAMPT": {
            "additionalProperties": false,
            "properties": {
                "QueueName": {
                    "type": "string"
                }
            },
            "required": [
                "QueueName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.S3Event": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Events": {
                    "anyOf": [
                        {
                            "type": [
                                "string"
                            ]
                        },
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Filter": {
                    "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter"
                }
            },
            "required": [
                "Bucket",
                "Events"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.S3KeyFilter": {
            "additionalProperties": false,
            "properties": {
                "Rules": {
                    "items": {
                        "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Rules"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.S3KeyFilterRule": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "number"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.S3NotificationFilter": {
            "additionalProperties": false,
            "properties": {
                "S3Key": {
                    "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter"
                }
            },
            "required": [
                "S3Key"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.SAMPolicyTemplate": {
            "additionalProperties": false,
            "properties": {
                "AMIDescribePolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                },
                "CloudFormationDescribeStacksPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                },
                "CloudWatchPutMetricPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                },
                "DynamoDBCrudPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT"
                },
                "DynamoDBReadPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT"
                },
                "DynamoDBStreamReadPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT"
                },
                "EC2DescribePolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                },
                "ElasticsearchHttpPostPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT"
                },
                "FilterLogEventsPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT"
                },
                "KMSDecryptPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT"
                },
                "KinesisCrudPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT"
                },
                "KinesisStreamReadPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT"
                },
                "LambdaInvokePolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT"
                },
                "RekognitionDetectOnlyPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                },
                "RekognitionLabelsPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                },
                "RekognitionNoDataAccessPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT"
                },
                "RekognitionReadPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT"
                },
                "RekognitionWriteOnlyAccessPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT"
                },
                "S3CrudPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT"
                },
                "S3ReadPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT"
                },
                "SESBulkTemplatedCrudPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT"
                },
                "SESCrudPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT"
                },
                "SESEmailTemplateCrudPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                },
                "SESSendBouncePolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT"
                },
                "SNSCrudPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT"
                },
                "SNSPublishMessagePolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT"
                },
                "SQSPollerPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT"
                },
                "SQSSendMessagePolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT"
                },
                "StepFunctionsExecutionPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT"
                },
                "VPCAccessPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::Function.SNSEvent": {
            "additionalProperties": false,
            "properties": {
                "Topic": {
                    "type": "string"
                }
            },
            "required": [
                "Topic"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.SQSEvent": {
            "additionalProperties": false,
            "properties": {
                "BatchSize": {
                    "type": "number"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Queue": {
                    "type": "string"
                }
            },
            "required": [
                "Queue"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.ScheduleEvent": {
            "additionalProperties": false,
            "properties": {
                "Input": {
                    "type": "string"
                },
                "Schedule": {
                    "type": "string"
                }
            },
            "required": [
                "Schedule"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.StateMachineSAMPT": {
            "additionalProperties": false,
            "properties": {
                "StateMachineName": {
                    "type": "string"
                }
            },
            "required": [
                "StateMachineName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.StreamSAMPT": {
            "additionalProperties": false,
            "properties": {
                "StreamName": {
                    "type": "string"
                }
            },
            "required": [
                "StreamName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.TableSAMPT": {
            "additionalProperties": false,
            "properties": {
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "TableName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.TableStreamSAMPT": {
            "additionalProperties": false,
            "properties": {
                "StreamName": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "StreamName",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.TopicSAMPT": {
            "additionalProperties": false,
            "properties": {
                "TopicName": {
                    "type": "string"
                }
            },
            "required": [
                "TopicName"
            ],
            "type": "object"
        },
        "AWS::Serverless::Function.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "SubnetIds"
            ],
            "type": "object"
        },
        "AWS::Serverless::LayerVersion": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CompatibleRuntimes": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ContentUri": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::LayerVersion.S3Location"
                                }
                            ]
                        },
                        "Description": {
                            "type": "string"
                        },
                        "LayerName": {
                            "type": "string"
                        },
                        "LicenseInfo": {
                            "type": "string"
                        },
                        "RetentionPolicy": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Serverless::LayerVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::LayerVersion.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "number"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::Serverless::SimpleTable": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PrimaryKey": {
                            "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey"
                        },
                        "ProvisionedThroughput": {
                            "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput"
                        },
                        "SSESpecification": {
                            "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification"
                        },
                        "TableName": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Serverless::SimpleTable"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::SimpleTable.PrimaryKey": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::SimpleTable.ProvisionedThroughput": {
            "additionalProperties": false,
            "properties": {
                "ReadCapacityUnits": {
                    "type": "number"
                },
                "WriteCapacityUnits": {
                    "type": "number"
                }
            },
            "required": [
                "WriteCapacityUnits"
            ],
            "type": "object"
        },
        "AWS::Serverless::SimpleTable.SSESpecification": {
            "additionalProperties": false,
            "properties": {
                "SSEEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::StateMachine": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Definition": {
                            "type": "object"
                        },
                        "DefinitionSubstitutions": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "DefinitionUri": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location"
                                }
                            ]
                        },
                        "Events": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource"
                                }
                            },
                            "type": "object"
                        },
                        "Logging": {
                            "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Policies": {
                            "anyOf": [
                                {
                                    "type": [
                                        "string"
                                    ]
                                },
                                {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                {
                                    "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument"
                                },
                                {
                                    "items": {
                                        "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument"
                                    },
                                    "type": "array"
                                },
                                {
                                    "items": {
                                        "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate"
                                    },
                                    "type": "array"
                                }
                            ]
                        },
                        "Role": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Serverless::StateMachine"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.ApiEvent": {
            "additionalProperties": false,
            "properties": {
                "Method": {
                    "type": "string"
                },
                "Path": {
                    "type": "string"
                },
                "RestApiId": {
                    "type": "string"
                }
            },
            "required": [
                "Method",
                "Path"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.CloudWatchEventEvent": {
            "additionalProperties": false,
            "properties": {
                "EventBusName": {
                    "type": "string"
                },
                "Input": {
                    "type": "string"
                },
                "InputPath": {
                    "type": "string"
                },
                "Pattern": {
                    "type": "object"
                }
            },
            "required": [
                "Pattern"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": {
            "additionalProperties": false,
            "properties": {
                "LogGroupArn": {
                    "type": "string"
                }
            },
            "required": [
                "LogGroupArn"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.EventBridgeRuleEvent": {
            "additionalProperties": false,
            "properties": {
                "EventBusName": {
                    "type": "string"
                },
                "Input": {
                    "type": "string"
                },
                "InputPath": {
                    "type": "string"
                },
                "Pattern": {
                    "type": "object"
                }
            },
            "required": [
                "Pattern"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.EventSource": {
            "additionalProperties": false,
            "properties": {
                "Properties": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent"
                        }
                    ]
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Properties",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.FunctionSAMPT": {
            "additionalProperties": false,
            "properties": {
                "FunctionName": {
                    "type": "string"
                }
            },
            "required": [
                "FunctionName"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.IAMPolicyDocument": {
            "additionalProperties": false,
            "properties": {
                "Statement": {
                    "type": "object"
                }
            },
            "required": [
                "Statement"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.LogDestination": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogsLogGroup": {
                    "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup"
                }
            },
            "required": [
                "CloudWatchLogsLogGroup"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.LoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Destinations": {
                    "items": {
                        "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination"
                    },
                    "type": "array"
                },
                "IncludeExecutionData": {
                    "type": "boolean"
                },
                "Level": {
                    "type": "string"
                }
            },
            "required": [
                "Destinations",
                "IncludeExecutionData",
                "Level"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "number"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.SAMPolicyTemplate": {
            "additionalProperties": false,
            "properties": {
                "LambdaInvokePolicy": {
                    "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT"
                },
                "StepFunctionsExecutionPolicy": {
                    "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT"
                }
            },
            "type": "object"
        },
        "AWS::Serverless::StateMachine.ScheduleEvent": {
            "additionalProperties": false,
            "properties": {
                "Input": {
                    "type": "string"
                },
                "Schedule": {
                    "type": "string"
                }
            },
            "required": [
                "Schedule"
            ],
            "type": "object"
        },
        "AWS::Serverless::StateMachine.StateMachineSAMPT": {
            "additionalProperties": false,
            "properties": {
                "StateMachineName": {
                    "type": "string"
                }
            },
            "required": [
                "StateMachineName"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::AcceptedPortfolioShare": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PortfolioId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::AcceptedPortfolioShare"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::CloudFormationProduct": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Distributor": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Owner": {
                            "type": "string"
                        },
                        "ProvisioningArtifactParameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties"
                            },
                            "type": "array"
                        },
                        "ReplaceProvisioningArtifacts": {
                            "type": "boolean"
                        },
                        "SupportDescription": {
                            "type": "string"
                        },
                        "SupportEmail": {
                            "type": "string"
                        },
                        "SupportUrl": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "Owner",
                        "ProvisioningArtifactParameters"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::CloudFormationProduct"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "DisableTemplateValidation": {
                    "type": "boolean"
                },
                "Info": {
                    "type": "object"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Info"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::CloudFormationProvisionedProduct": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "NotificationArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PathId": {
                            "type": "string"
                        },
                        "PathName": {
                            "type": "string"
                        },
                        "ProductId": {
                            "type": "string"
                        },
                        "ProductName": {
                            "type": "string"
                        },
                        "ProvisionedProductName": {
                            "type": "string"
                        },
                        "ProvisioningArtifactId": {
                            "type": "string"
                        },
                        "ProvisioningArtifactName": {
                            "type": "string"
                        },
                        "ProvisioningParameters": {
                            "items": {
                                "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter"
                            },
                            "type": "array"
                        },
                        "ProvisioningPreferences": {
                            "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::CloudFormationProvisionedProduct"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": {
            "additionalProperties": false,
            "properties": {
                "StackSetAccounts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StackSetFailureToleranceCount": {
                    "type": "number"
                },
                "StackSetFailureTolerancePercentage": {
                    "type": "number"
                },
                "StackSetMaxConcurrencyCount": {
                    "type": "number"
                },
                "StackSetMaxConcurrencyPercentage": {
                    "type": "number"
                },
                "StackSetOperationType": {
                    "type": "string"
                },
                "StackSetRegions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::ServiceCatalog::LaunchNotificationConstraint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "NotificationArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "ProductId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "NotificationArns",
                        "PortfolioId",
                        "ProductId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::LaunchNotificationConstraint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::LaunchRoleConstraint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "LocalRoleName": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "ProductId": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PortfolioId",
                        "ProductId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::LaunchRoleConstraint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::LaunchTemplateConstraint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "ProductId": {
                            "type": "string"
                        },
                        "Rules": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PortfolioId",
                        "ProductId",
                        "Rules"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::LaunchTemplateConstraint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::Portfolio": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "ProviderName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DisplayName",
                        "ProviderName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::Portfolio"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::PortfolioPrincipalAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "PrincipalARN": {
                            "type": "string"
                        },
                        "PrincipalType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PortfolioId",
                        "PrincipalARN",
                        "PrincipalType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::PortfolioPrincipalAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::PortfolioProductAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "ProductId": {
                            "type": "string"
                        },
                        "SourcePortfolioId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PortfolioId",
                        "ProductId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::PortfolioProductAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::PortfolioShare": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "AccountId": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "ShareTagOptions": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "AccountId",
                        "PortfolioId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::PortfolioShare"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::ResourceUpdateConstraint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "ProductId": {
                            "type": "string"
                        },
                        "TagUpdateOnProvisionedProduct": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PortfolioId",
                        "ProductId",
                        "TagUpdateOnProvisionedProduct"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::ResourceUpdateConstraint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::ServiceAction": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "Definition": {
                            "items": {
                                "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter"
                            },
                            "type": "array"
                        },
                        "DefinitionType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Definition",
                        "DefinitionType",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::ServiceAction"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::ServiceActionAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ProductId": {
                            "type": "string"
                        },
                        "ProvisioningArtifactId": {
                            "type": "string"
                        },
                        "ServiceActionId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ProductId",
                        "ProvisioningArtifactId",
                        "ServiceActionId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::ServiceActionAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::StackSetConstraint": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptLanguage": {
                            "type": "string"
                        },
                        "AccountList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AdminRole": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "ExecutionRole": {
                            "type": "string"
                        },
                        "PortfolioId": {
                            "type": "string"
                        },
                        "ProductId": {
                            "type": "string"
                        },
                        "RegionList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "StackInstanceControl": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AccountList",
                        "AdminRole",
                        "Description",
                        "ExecutionRole",
                        "PortfolioId",
                        "ProductId",
                        "RegionList",
                        "StackInstanceControl"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::StackSetConstraint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::TagOption": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Active": {
                            "type": "boolean"
                        },
                        "Key": {
                            "type": "string"
                        },
                        "Value": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Key",
                        "Value"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::TagOption"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalog::TagOptionAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceId": {
                            "type": "string"
                        },
                        "TagOptionId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResourceId",
                        "TagOptionId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalog::TagOptionAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalogAppRegistry::Application": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalogAppRegistry::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalogAppRegistry::AttributeGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Attributes": {
                            "type": "object"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "Attributes",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalogAppRegistry::AttributeGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Application": {
                            "type": "string"
                        },
                        "AttributeGroup": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Application",
                        "AttributeGroup"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceCatalogAppRegistry::ResourceAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Application": {
                            "type": "string"
                        },
                        "Resource": {
                            "type": "string"
                        },
                        "ResourceType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Application",
                        "Resource",
                        "ResourceType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceCatalogAppRegistry::ResourceAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::HttpNamespace": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceDiscovery::HttpNamespace"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::Instance": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InstanceAttributes": {
                            "type": "object"
                        },
                        "InstanceId": {
                            "type": "string"
                        },
                        "ServiceId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceAttributes",
                        "ServiceId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceDiscovery::Instance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::PrivateDnsNamespace": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Vpc": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "Vpc"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceDiscovery::PrivateDnsNamespace"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::PublicDnsNamespace": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceDiscovery::PublicDnsNamespace"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::Service": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "DnsConfig": {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig"
                        },
                        "HealthCheckConfig": {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig"
                        },
                        "HealthCheckCustomConfig": {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "NamespaceId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ServiceDiscovery::Service"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::Service.DnsConfig": {
            "additionalProperties": false,
            "properties": {
                "DnsRecords": {
                    "items": {
                        "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord"
                    },
                    "type": "array"
                },
                "NamespaceId": {
                    "type": "string"
                },
                "RoutingPolicy": {
                    "type": "string"
                }
            },
            "required": [
                "DnsRecords"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::Service.DnsRecord": {
            "additionalProperties": false,
            "properties": {
                "TTL": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "TTL",
                "Type"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::Service.HealthCheckConfig": {
            "additionalProperties": false,
            "properties": {
                "FailureThreshold": {
                    "type": "number"
                },
                "ResourcePath": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": {
            "additionalProperties": false,
            "properties": {
                "FailureThreshold": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Signer::ProfilePermission": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Action": {
                            "type": "string"
                        },
                        "Principal": {
                            "type": "string"
                        },
                        "ProfileName": {
                            "type": "string"
                        },
                        "ProfileVersion": {
                            "type": "string"
                        },
                        "StatementId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Action",
                        "Principal",
                        "ProfileName",
                        "StatementId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Signer::ProfilePermission"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Signer::SigningProfile": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PlatformId": {
                            "type": "string"
                        },
                        "SignatureValidityPeriod": {
                            "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "PlatformId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Signer::SigningProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Signer::SigningProfile.SignatureValidityPeriod": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::StepFunctions::Activity": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::StepFunctions::Activity"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::StepFunctions::Activity.TagsEntry": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Definition": {
                            "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition"
                        },
                        "DefinitionS3Location": {
                            "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location"
                        },
                        "DefinitionString": {
                            "type": "string"
                        },
                        "DefinitionSubstitutions": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "LoggingConfiguration": {
                            "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StateMachineName": {
                            "type": "string"
                        },
                        "StateMachineType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry"
                            },
                            "type": "array"
                        },
                        "TracingConfiguration": {
                            "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration"
                        }
                    },
                    "required": [
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::StepFunctions::StateMachine"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": {
            "additionalProperties": false,
            "properties": {
                "LogGroupArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine.Definition": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine.LogDestination": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogsLogGroup": {
                    "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup"
                }
            },
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine.LoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Destinations": {
                    "items": {
                        "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination"
                    },
                    "type": "array"
                },
                "IncludeExecutionData": {
                    "type": "boolean"
                },
                "Level": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine.S3Location": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ],
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine.TagsEntry": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::StepFunctions::StateMachine.TracingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Synthetics::Canary": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ArtifactS3Location": {
                            "type": "string"
                        },
                        "Code": {
                            "$ref": "#/definitions/AWS::Synthetics::Canary.Code"
                        },
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "FailureRetentionPeriod": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RunConfig": {
                            "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig"
                        },
                        "RuntimeVersion": {
                            "type": "string"
                        },
                        "Schedule": {
                            "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule"
                        },
                        "StartCanaryAfterCreation": {
                            "type": "boolean"
                        },
                        "SuccessRetentionPeriod": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VPCConfig": {
                            "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig"
                        }
                    },
                    "required": [
                        "ArtifactS3Location",
                        "Code",
                        "ExecutionRoleArn",
                        "Name",
                        "RuntimeVersion",
                        "Schedule",
                        "StartCanaryAfterCreation"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Synthetics::Canary"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Synthetics::Canary.Code": {
            "additionalProperties": false,
            "properties": {
                "Handler": {
                    "type": "string"
                },
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                },
                "S3ObjectVersion": {
                    "type": "string"
                },
                "Script": {
                    "type": "string"
                }
            },
            "required": [
                "Handler"
            ],
            "type": "object"
        },
        "AWS::Synthetics::Canary.RunConfig": {
            "additionalProperties": false,
            "properties": {
                "ActiveTracing": {
                    "type": "boolean"
                },
                "EnvironmentVariables": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "MemoryInMB": {
                    "type": "number"
                },
                "TimeoutInSeconds": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Synthetics::Canary.Schedule": {
            "additionalProperties": false,
            "properties": {
                "DurationInSeconds": {
                    "type": "string"
                },
                "Expression": {
                    "type": "string"
                }
            },
            "required": [
                "Expression"
            ],
            "type": "object"
        },
        "AWS::Synthetics::Canary.VPCConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "VpcId": {
                    "type": "string"
                }
            },
            "required": [
                "SecurityGroupIds",
                "SubnetIds"
            ],
            "type": "object"
        },
        "AWS::Timestream::Database": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DatabaseName": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Timestream::Database"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Timestream::Table": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DatabaseName": {
                            "type": "string"
                        },
                        "RetentionProperties": {
                            "type": "object"
                        },
                        "TableName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DatabaseName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Timestream::Table"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Transfer::Server": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Certificate": {
                            "type": "string"
                        },
                        "Domain": {
                            "type": "string"
                        },
                        "EndpointDetails": {
                            "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails"
                        },
                        "EndpointType": {
                            "type": "string"
                        },
                        "IdentityProviderDetails": {
                            "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails"
                        },
                        "IdentityProviderType": {
                            "type": "string"
                        },
                        "LoggingRole": {
                            "type": "string"
                        },
                        "Protocols": {
                            "items": {
                                "$ref": "#/definitions/AWS::Transfer::Server.Protocol"
                            },
                            "type": "array"
                        },
                        "SecurityPolicyName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Transfer::Server"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Transfer::Server.EndpointDetails": {
            "additionalProperties": false,
            "properties": {
                "AddressAllocationIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "VpcEndpointId": {
                    "type": "string"
                },
                "VpcId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Transfer::Server.IdentityProviderDetails": {
            "additionalProperties": false,
            "properties": {
                "DirectoryId": {
                    "type": "string"
                },
                "InvocationRole": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Transfer::Server.Protocol": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::Transfer::User": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "HomeDirectory": {
                            "type": "string"
                        },
                        "HomeDirectoryMappings": {
                            "items": {
                                "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry"
                            },
                            "type": "array"
                        },
                        "HomeDirectoryType": {
                            "type": "string"
                        },
                        "Policy": {
                            "type": "string"
                        },
                        "PosixProfile": {
                            "$ref": "#/definitions/AWS::Transfer::User.PosixProfile"
                        },
                        "Role": {
                            "type": "string"
                        },
                        "ServerId": {
                            "type": "string"
                        },
                        "SshPublicKeys": {
                            "items": {
                                "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Role",
                        "ServerId",
                        "UserName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Transfer::User"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Transfer::User.HomeDirectoryMapEntry": {
            "additionalProperties": false,
            "properties": {
                "Entry": {
                    "type": "string"
                },
                "Target": {
                    "type": "string"
                }
            },
            "required": [
                "Entry",
                "Target"
            ],
            "type": "object"
        },
        "AWS::Transfer::User.PosixProfile": {
            "additionalProperties": false,
            "properties": {
                "Gid": {
                    "type": "number"
                },
                "SecondaryGids": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "Uid": {
                    "type": "number"
                }
            },
            "required": [
                "Gid",
                "Uid"
            ],
            "type": "object"
        },
        "AWS::Transfer::User.SshPublicKey": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::WAF::ByteMatchSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ByteMatchTuples": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAF::ByteMatchSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAF::ByteMatchSet.ByteMatchTuple": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch"
                },
                "PositionalConstraint": {
                    "type": "string"
                },
                "TargetString": {
                    "type": "string"
                },
                "TargetStringBase64": {
                    "type": "string"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "FieldToMatch",
                "PositionalConstraint",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAF::ByteMatchSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAF::IPSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "IPSetDescriptors": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAF::IPSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAF::IPSet.IPSetDescriptor": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::WAF::Rule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MetricName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Predicates": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAF::Rule.Predicate"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "MetricName",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAF::Rule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAF::Rule.Predicate": {
            "additionalProperties": false,
            "properties": {
                "DataId": {
                    "type": "string"
                },
                "Negated": {
                    "type": "boolean"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "DataId",
                "Negated",
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAF::SizeConstraintSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "SizeConstraints": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "SizeConstraints"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAF::SizeConstraintSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAF::SizeConstraintSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAF::SizeConstraintSet.SizeConstraint": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch"
                },
                "Size": {
                    "type": "number"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "ComparisonOperator",
                "FieldToMatch",
                "Size",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAF::SqlInjectionMatchSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "SqlInjectionMatchTuples": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAF::SqlInjectionMatchSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAF::WebACL": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultAction": {
                            "$ref": "#/definitions/AWS::WAF::WebACL.WafAction"
                        },
                        "MetricName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Rules": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DefaultAction",
                        "MetricName",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAF::WebACL"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAF::WebACL.ActivatedRule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::WAF::WebACL.WafAction"
                },
                "Priority": {
                    "type": "number"
                },
                "RuleId": {
                    "type": "string"
                }
            },
            "required": [
                "Priority",
                "RuleId"
            ],
            "type": "object"
        },
        "AWS::WAF::WebACL.WafAction": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAF::XssMatchSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "XssMatchTuples": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "XssMatchTuples"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAF::XssMatchSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAF::XssMatchSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAF::XssMatchSet.XssMatchTuple": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::ByteMatchSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ByteMatchTuples": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::ByteMatchSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch"
                },
                "PositionalConstraint": {
                    "type": "string"
                },
                "TargetString": {
                    "type": "string"
                },
                "TargetStringBase64": {
                    "type": "string"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "FieldToMatch",
                "PositionalConstraint",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::ByteMatchSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::GeoMatchSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "GeoMatchConstraints": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::GeoMatchSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::IPSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "IPSetDescriptors": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::IPSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::IPSet.IPSetDescriptor": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::RateBasedRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MatchPredicates": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate"
                            },
                            "type": "array"
                        },
                        "MetricName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RateKey": {
                            "type": "string"
                        },
                        "RateLimit": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "MetricName",
                        "Name",
                        "RateKey",
                        "RateLimit"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::RateBasedRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::RateBasedRule.Predicate": {
            "additionalProperties": false,
            "properties": {
                "DataId": {
                    "type": "string"
                },
                "Negated": {
                    "type": "boolean"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "DataId",
                "Negated",
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::RegexPatternSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "RegexPatternStrings": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "RegexPatternStrings"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::RegexPatternSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::Rule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "MetricName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Predicates": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "MetricName",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::Rule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::Rule.Predicate": {
            "additionalProperties": false,
            "properties": {
                "DataId": {
                    "type": "string"
                },
                "Negated": {
                    "type": "boolean"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "DataId",
                "Negated",
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::SizeConstraintSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "SizeConstraints": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::SizeConstraintSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch"
                },
                "Size": {
                    "type": "number"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "ComparisonOperator",
                "FieldToMatch",
                "Size",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::SqlInjectionMatchSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "SqlInjectionMatchTuples": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::SqlInjectionMatchSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::WebACL": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultAction": {
                            "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action"
                        },
                        "MetricName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Rules": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DefaultAction",
                        "MetricName",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::WebACL"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::WebACL.Action": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::WebACL.Rule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action"
                },
                "Priority": {
                    "type": "number"
                },
                "RuleId": {
                    "type": "string"
                }
            },
            "required": [
                "Action",
                "Priority",
                "RuleId"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::WebACLAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceArn": {
                            "type": "string"
                        },
                        "WebACLId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResourceArn",
                        "WebACLId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::WebACLAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::XssMatchSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Name": {
                            "type": "string"
                        },
                        "XssMatchTuples": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFRegional::XssMatchSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::XssMatchSet.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "Data": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFRegional::XssMatchSet.XssMatchTuple": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch"
                },
                "TextTransformation": {
                    "type": "string"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformation"
            ],
            "type": "object"
        },
        "AWS::WAFv2::IPSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Addresses": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "IPAddressVersion": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Scope": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Addresses",
                        "IPAddressVersion",
                        "Scope"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFv2::IPSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RegexPatternSet": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RegularExpressionList": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Scope": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "RegularExpressionList",
                        "Scope"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFv2::RegexPatternSet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Capacity": {
                            "type": "number"
                        },
                        "CustomResponseBodies": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody"
                                }
                            },
                            "type": "object"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Rules": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule"
                            },
                            "type": "array"
                        },
                        "Scope": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VisibilityConfig": {
                            "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig"
                        }
                    },
                    "required": [
                        "Capacity",
                        "Scope",
                        "VisibilityConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFv2::RuleGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.AndStatement": {
            "additionalProperties": false,
            "properties": {
                "Statements": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Statements"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.ByteMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch"
                },
                "PositionalConstraint": {
                    "type": "string"
                },
                "SearchString": {
                    "type": "string"
                },
                "SearchStringBase64": {
                    "type": "string"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "FieldToMatch",
                "PositionalConstraint",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.CustomResponseBody": {
            "additionalProperties": false,
            "properties": {
                "Content": {
                    "type": "string"
                },
                "ContentType": {
                    "type": "string"
                }
            },
            "required": [
                "Content",
                "ContentType"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "AllQueryArguments": {
                    "type": "object"
                },
                "Body": {
                    "type": "object"
                },
                "JsonBody": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody"
                },
                "Method": {
                    "type": "object"
                },
                "QueryString": {
                    "type": "object"
                },
                "SingleHeader": {
                    "type": "object"
                },
                "SingleQueryArgument": {
                    "type": "object"
                },
                "UriPath": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": {
            "additionalProperties": false,
            "properties": {
                "FallbackBehavior": {
                    "type": "string"
                },
                "HeaderName": {
                    "type": "string"
                }
            },
            "required": [
                "FallbackBehavior",
                "HeaderName"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.GeoMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "CountryCodes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ForwardedIPConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": {
            "additionalProperties": false,
            "properties": {
                "FallbackBehavior": {
                    "type": "string"
                },
                "HeaderName": {
                    "type": "string"
                },
                "Position": {
                    "type": "string"
                }
            },
            "required": [
                "FallbackBehavior",
                "HeaderName",
                "Position"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "IPSetForwardedIPConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration"
                }
            },
            "required": [
                "Arn"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.JsonBody": {
            "additionalProperties": false,
            "properties": {
                "InvalidFallbackBehavior": {
                    "type": "string"
                },
                "MatchPattern": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern"
                },
                "MatchScope": {
                    "type": "string"
                }
            },
            "required": [
                "MatchPattern",
                "MatchScope"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.JsonMatchPattern": {
            "additionalProperties": false,
            "properties": {
                "All": {
                    "type": "object"
                },
                "IncludedPaths": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.Label": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.LabelMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Scope": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Scope"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.LabelSummary": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.NotStatement": {
            "additionalProperties": false,
            "properties": {
                "Statement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement"
                }
            },
            "required": [
                "Statement"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.OrStatement": {
            "additionalProperties": false,
            "properties": {
                "Statements": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Statements"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.RateBasedStatement": {
            "additionalProperties": false,
            "properties": {
                "AggregateKeyType": {
                    "type": "string"
                },
                "ForwardedIPConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration"
                },
                "Limit": {
                    "type": "number"
                },
                "ScopeDownStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement"
                }
            },
            "required": [
                "AggregateKeyType",
                "Limit"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Arn",
                "FieldToMatch",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.Rule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction"
                },
                "Name": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                },
                "RuleLabels": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label"
                    },
                    "type": "array"
                },
                "Statement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement"
                },
                "VisibilityConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig"
                }
            },
            "required": [
                "Name",
                "Priority",
                "Statement",
                "VisibilityConfig"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.RuleAction": {
            "additionalProperties": false,
            "properties": {
                "Allow": {
                    "type": "object"
                },
                "Block": {
                    "type": "object"
                },
                "Count": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.SizeConstraintStatement": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch"
                },
                "Size": {
                    "type": "number"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ComparisonOperator",
                "FieldToMatch",
                "Size",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.SqliMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.Statement": {
            "additionalProperties": false,
            "properties": {
                "AndStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement"
                },
                "ByteMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement"
                },
                "GeoMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement"
                },
                "IPSetReferenceStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement"
                },
                "LabelMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement"
                },
                "NotStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement"
                },
                "OrStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement"
                },
                "RateBasedStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement"
                },
                "RegexPatternSetReferenceStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement"
                },
                "SizeConstraintStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement"
                },
                "SqliMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement"
                },
                "XssMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.TextTransformation": {
            "additionalProperties": false,
            "properties": {
                "Priority": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Priority",
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.VisibilityConfig": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchMetricsEnabled": {
                    "type": "boolean"
                },
                "MetricName": {
                    "type": "string"
                },
                "SampledRequestsEnabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "CloudWatchMetricsEnabled",
                "MetricName",
                "SampledRequestsEnabled"
            ],
            "type": "object"
        },
        "AWS::WAFv2::RuleGroup.XssMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CustomResponseBodies": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody"
                                }
                            },
                            "type": "object"
                        },
                        "DefaultAction": {
                            "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Rules": {
                            "items": {
                                "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule"
                            },
                            "type": "array"
                        },
                        "Scope": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VisibilityConfig": {
                            "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig"
                        }
                    },
                    "required": [
                        "DefaultAction",
                        "Scope",
                        "VisibilityConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFv2::WebACL"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.AllowAction": {
            "additionalProperties": false,
            "properties": {
                "CustomRequestHandling": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.AndStatement": {
            "additionalProperties": false,
            "properties": {
                "Statements": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Statements"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.BlockAction": {
            "additionalProperties": false,
            "properties": {
                "CustomResponse": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.ByteMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch"
                },
                "PositionalConstraint": {
                    "type": "string"
                },
                "SearchString": {
                    "type": "string"
                },
                "SearchStringBase64": {
                    "type": "string"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "FieldToMatch",
                "PositionalConstraint",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.CountAction": {
            "additionalProperties": false,
            "properties": {
                "CustomRequestHandling": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.CustomHTTPHeader": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.CustomRequestHandling": {
            "additionalProperties": false,
            "properties": {
                "InsertHeaders": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader"
                    },
                    "type": "array"
                }
            },
            "required": [
                "InsertHeaders"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.CustomResponse": {
            "additionalProperties": false,
            "properties": {
                "CustomResponseBodyKey": {
                    "type": "string"
                },
                "ResponseCode": {
                    "type": "number"
                },
                "ResponseHeaders": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ResponseCode"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.CustomResponseBody": {
            "additionalProperties": false,
            "properties": {
                "Content": {
                    "type": "string"
                },
                "ContentType": {
                    "type": "string"
                }
            },
            "required": [
                "Content",
                "ContentType"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.DefaultAction": {
            "additionalProperties": false,
            "properties": {
                "Allow": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction"
                },
                "Block": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.ExcludedRule": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.FieldToMatch": {
            "additionalProperties": false,
            "properties": {
                "AllQueryArguments": {
                    "type": "object"
                },
                "Body": {
                    "type": "object"
                },
                "JsonBody": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody"
                },
                "Method": {
                    "type": "object"
                },
                "QueryString": {
                    "type": "object"
                },
                "SingleHeader": {
                    "type": "object"
                },
                "SingleQueryArgument": {
                    "type": "object"
                },
                "UriPath": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.ForwardedIPConfiguration": {
            "additionalProperties": false,
            "properties": {
                "FallbackBehavior": {
                    "type": "string"
                },
                "HeaderName": {
                    "type": "string"
                }
            },
            "required": [
                "FallbackBehavior",
                "HeaderName"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.GeoMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "CountryCodes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ForwardedIPConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": {
            "additionalProperties": false,
            "properties": {
                "FallbackBehavior": {
                    "type": "string"
                },
                "HeaderName": {
                    "type": "string"
                },
                "Position": {
                    "type": "string"
                }
            },
            "required": [
                "FallbackBehavior",
                "HeaderName",
                "Position"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.IPSetReferenceStatement": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "IPSetForwardedIPConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration"
                }
            },
            "required": [
                "Arn"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.JsonBody": {
            "additionalProperties": false,
            "properties": {
                "InvalidFallbackBehavior": {
                    "type": "string"
                },
                "MatchPattern": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern"
                },
                "MatchScope": {
                    "type": "string"
                }
            },
            "required": [
                "MatchPattern",
                "MatchScope"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.JsonMatchPattern": {
            "additionalProperties": false,
            "properties": {
                "All": {
                    "type": "object"
                },
                "IncludedPaths": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.Label": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.LabelMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Scope": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Scope"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": {
            "additionalProperties": false,
            "properties": {
                "ExcludedRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                },
                "ScopeDownStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement"
                },
                "VendorName": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "VendorName"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.NotStatement": {
            "additionalProperties": false,
            "properties": {
                "Statement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement"
                }
            },
            "required": [
                "Statement"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.OrStatement": {
            "additionalProperties": false,
            "properties": {
                "Statements": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Statements"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.OverrideAction": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "object"
                },
                "None": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.RateBasedStatement": {
            "additionalProperties": false,
            "properties": {
                "AggregateKeyType": {
                    "type": "string"
                },
                "ForwardedIPConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration"
                },
                "Limit": {
                    "type": "number"
                },
                "ScopeDownStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement"
                }
            },
            "required": [
                "AggregateKeyType",
                "Limit"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Arn",
                "FieldToMatch",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.Rule": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction"
                },
                "Name": {
                    "type": "string"
                },
                "OverrideAction": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction"
                },
                "Priority": {
                    "type": "number"
                },
                "RuleLabels": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.Label"
                    },
                    "type": "array"
                },
                "Statement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement"
                },
                "VisibilityConfig": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig"
                }
            },
            "required": [
                "Name",
                "Priority",
                "Statement",
                "VisibilityConfig"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.RuleAction": {
            "additionalProperties": false,
            "properties": {
                "Allow": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction"
                },
                "Block": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction"
                },
                "Count": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": {
            "additionalProperties": false,
            "properties": {
                "Arn": {
                    "type": "string"
                },
                "ExcludedRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Arn"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.SizeConstraintStatement": {
            "additionalProperties": false,
            "properties": {
                "ComparisonOperator": {
                    "type": "string"
                },
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch"
                },
                "Size": {
                    "type": "number"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ComparisonOperator",
                "FieldToMatch",
                "Size",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.SqliMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.Statement": {
            "additionalProperties": false,
            "properties": {
                "AndStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement"
                },
                "ByteMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement"
                },
                "GeoMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement"
                },
                "IPSetReferenceStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement"
                },
                "LabelMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement"
                },
                "ManagedRuleGroupStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement"
                },
                "NotStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement"
                },
                "OrStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement"
                },
                "RateBasedStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement"
                },
                "RegexPatternSetReferenceStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement"
                },
                "RuleGroupReferenceStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement"
                },
                "SizeConstraintStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement"
                },
                "SqliMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement"
                },
                "XssMatchStatement": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement"
                }
            },
            "type": "object"
        },
        "AWS::WAFv2::WebACL.TextTransformation": {
            "additionalProperties": false,
            "properties": {
                "Priority": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Priority",
                "Type"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.VisibilityConfig": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchMetricsEnabled": {
                    "type": "boolean"
                },
                "MetricName": {
                    "type": "string"
                },
                "SampledRequestsEnabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "CloudWatchMetricsEnabled",
                "MetricName",
                "SampledRequestsEnabled"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACL.XssMatchStatement": {
            "additionalProperties": false,
            "properties": {
                "FieldToMatch": {
                    "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch"
                },
                "TextTransformations": {
                    "items": {
                        "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation"
                    },
                    "type": "array"
                }
            },
            "required": [
                "FieldToMatch",
                "TextTransformations"
            ],
            "type": "object"
        },
        "AWS::WAFv2::WebACLAssociation": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResourceArn": {
                            "type": "string"
                        },
                        "WebACLArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ResourceArn",
                        "WebACLArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WAFv2::WebACLAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WorkSpaces::ConnectionAlias": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectionString": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ConnectionString"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WorkSpaces::ConnectionAlias"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": {
            "additionalProperties": false,
            "properties": {
                "AssociatedAccountId": {
                    "type": "string"
                },
                "AssociationStatus": {
                    "type": "string"
                },
                "ConnectionIdentifier": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::WorkSpaces::Workspace": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BundleId": {
                            "type": "string"
                        },
                        "DirectoryId": {
                            "type": "string"
                        },
                        "RootVolumeEncryptionEnabled": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserName": {
                            "type": "string"
                        },
                        "UserVolumeEncryptionEnabled": {
                            "type": "boolean"
                        },
                        "VolumeEncryptionKey": {
                            "type": "string"
                        },
                        "WorkspaceProperties": {
                            "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties"
                        }
                    },
                    "required": [
                        "BundleId",
                        "DirectoryId",
                        "UserName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::WorkSpaces::Workspace"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::WorkSpaces::Workspace.WorkspaceProperties": {
            "additionalProperties": false,
            "properties": {
                "ComputeTypeName": {
                    "type": "string"
                },
                "RootVolumeSizeGib": {
                    "type": "number"
                },
                "RunningMode": {
                    "type": "string"
                },
                "RunningModeAutoStopTimeoutInMinutes": {
                    "type": "number"
                },
                "UserVolumeSizeGib": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::XRay::Group": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FilterExpression": {
                            "type": "string"
                        },
                        "GroupName": {
                            "type": "string"
                        },
                        "InsightsConfiguration": {
                            "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "type": "object"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::XRay::Group"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::XRay::Group.InsightsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "InsightsEnabled": {
                    "type": "boolean"
                },
                "NotificationsEnabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::XRay::SamplingRule": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "RuleName": {
                            "type": "string"
                        },
                        "SamplingRule": {
                            "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule"
                        },
                        "SamplingRuleRecord": {
                            "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord"
                        },
                        "SamplingRuleUpdate": {
                            "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate"
                        },
                        "Tags": {
                            "items": {
                                "type": "object"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::XRay::SamplingRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::XRay::SamplingRule.SamplingRule": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "FixedRate": {
                    "type": "number"
                },
                "HTTPMethod": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                },
                "ReservoirSize": {
                    "type": "number"
                },
                "ResourceARN": {
                    "type": "string"
                },
                "RuleARN": {
                    "type": "string"
                },
                "RuleName": {
                    "type": "string"
                },
                "ServiceName": {
                    "type": "string"
                },
                "ServiceType": {
                    "type": "string"
                },
                "URLPath": {
                    "type": "string"
                },
                "Version": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::XRay::SamplingRule.SamplingRuleRecord": {
            "additionalProperties": false,
            "properties": {
                "CreatedAt": {
                    "type": "string"
                },
                "ModifiedAt": {
                    "type": "string"
                },
                "SamplingRule": {
                    "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule"
                }
            },
            "type": "object"
        },
        "AWS::XRay::SamplingRule.SamplingRuleUpdate": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "FixedRate": {
                    "type": "number"
                },
                "HTTPMethod": {
                    "type": "string"
                },
                "Host": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                },
                "ReservoirSize": {
                    "type": "number"
                },
                "ResourceARN": {
                    "type": "string"
                },
                "RuleARN": {
                    "type": "string"
                },
                "RuleName": {
                    "type": "string"
                },
                "ServiceName": {
                    "type": "string"
                },
                "ServiceType": {
                    "type": "string"
                },
                "URLPath": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "Alexa::ASK::Skill": {
            "additionalProperties": false,
            "properties": {
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AuthenticationConfiguration": {
                            "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration"
                        },
                        "SkillPackage": {
                            "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage"
                        },
                        "VendorId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AuthenticationConfiguration",
                        "SkillPackage",
                        "VendorId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "Alexa::ASK::Skill"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "Alexa::ASK::Skill.AuthenticationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "required": [
                "ClientId",
                "ClientSecret",
                "RefreshToken"
            ],
            "type": "object"
        },
        "Alexa::ASK::Skill.Overrides": {
            "additionalProperties": false,
            "properties": {
                "Manifest": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "Alexa::ASK::Skill.SkillPackage": {
            "additionalProperties": false,
            "properties": {
                "Overrides": {
                    "$ref": "#/definitions/Alexa::ASK::Skill.Overrides"
                },
                "S3Bucket": {
                    "type": "string"
                },
                "S3BucketRole": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                },
                "S3ObjectVersion": {
                    "type": "string"
                }
            },
            "required": [
                "S3Bucket",
                "S3Key"
            ],
            "type": "object"
        },
        "Parameter": {
            "additionalProperties": false,
            "properties": {
                "AllowedPattern": {
                    "type": "string"
                },
                "AllowedValues": {
                    "type": "array"
                },
                "ConstraintDescription": {
                    "type": "string"
                },
                "Default": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "MaxLength": {
                    "type": "string"
                },
                "MaxValue": {
                    "type": "string"
                },
                "MinLength": {
                    "type": "string"
                },
                "MinValue": {
                    "type": "string"
                },
                "NoEcho": {
                    "type": [
                        "string",
                        "boolean"
                    ]
                },
                "Type": {
                    "enum": [
                        "String",
                        "Number",
                        "List\u003cNumber\u003e",
                        "CommaDelimitedList",
                        "AWS::EC2::AvailabilityZone::Name",
                        "AWS::EC2::Image::Id",
                        "AWS::EC2::Instance::Id",
                        "AWS::EC2::KeyPair::KeyName",
                        "AWS::EC2::SecurityGroup::GroupName",
                        "AWS::EC2::SecurityGroup::Id",
                        "AWS::EC2::Subnet::Id",
                        "AWS::EC2::Volume::Id",
                        "AWS::EC2::VPC::Id",
                        "AWS::Route53::HostedZone::Id",
                        "List\u003cAWS::EC2::AvailabilityZone::Name\u003e",
                        "List\u003cAWS::EC2::Image::Id\u003e",
                        "List\u003cAWS::EC2::Instance::Id\u003e",
                        "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e",
                        "List\u003cAWS::EC2::SecurityGroup::Id\u003e",
                        "List\u003cAWS::EC2::Subnet::Id\u003e",
                        "List\u003cAWS::EC2::Volume::Id\u003e",
                        "List\u003cAWS::EC2::VPC::Id\u003e",
                        "List\u003cAWS::Route53::HostedZone::Id\u003e",
                        "List\u003cString\u003e",
                        "AWS::SSM::Parameter::Name",
                        "AWS::SSM::Parameter::Value\u003cString\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e",
                        "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e",
                        "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "Tag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        }
    },
    "properties": {
        "AWSTemplateFormatVersion": {
            "enum": [
                "2010-09-09"
            ],
            "type": "string"
        },
        "Conditions": {
            "additionalProperties": false,
            "patternProperties": {
                "^[a-zA-Z0-9]+$": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "Description": {
            "description": "Template description",
            "maxLength": 1024,
            "type": "string"
        },
        "Mappings": {
            "additionalProperties": false,
            "patternProperties": {
                "^[a-zA-Z0-9]+$": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "Metadata": {
            "type": "object"
        },
        "Outputs": {
            "additionalProperties": false,
            "maxProperties": 60,
            "minProperties": 1,
            "patternProperties": {
                "^[a-zA-Z0-9]+$": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "Parameters": {
            "additionalProperties": false,
            "maxProperties": 50,
            "patternProperties": {
                "^[a-zA-Z0-9]+$": {
                    "$ref": "#/definitions/Parameter"
                }
            },
            "type": "object"
        },
        "Resources": {
            "additionalProperties": false,
            "patternProperties": {
                "^[a-zA-Z0-9]+$": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/AWS::ACMPCA::Certificate"
                        },
                        {
                            "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority"
                        },
                        {
                            "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation"
                        },
                        {
                            "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer"
                        },
                        {
                            "$ref": "#/definitions/AWS::AmazonMQ::Broker"
                        },
                        {
                            "$ref": "#/definitions/AWS::AmazonMQ::Configuration"
                        },
                        {
                            "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::Amplify::App"
                        },
                        {
                            "$ref": "#/definitions/AWS::Amplify::Branch"
                        },
                        {
                            "$ref": "#/definitions/AWS::Amplify::Domain"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::Account"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::ApiKey"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::Authorizer"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::Deployment"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::DomainName"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::Method"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::Model"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::RequestValidator"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::Resource"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::RestApi"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::Stage"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::UsagePlan"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGateway::VpcLink"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Api"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Integration"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Model"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Route"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::Stage"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppConfig::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppConfig::Deployment"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppConfig::Environment"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppFlow::Flow"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppMesh::GatewayRoute"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppMesh::Mesh"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppMesh::Route"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualNode"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualRouter"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppMesh::VirtualService"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppRunner::Service"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppStream::DirectoryConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppStream::Fleet"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppStream::ImageBuilder"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppStream::Stack"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppStream::StackUserAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppStream::User"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppSync::ApiCache"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppSync::ApiKey"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppSync::DataSource"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLSchema"
                        },
                        {
                            "$ref": "#/definitions/AWS::AppSync::Resolver"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::ApplicationInsights::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::Athena::DataCatalog"
                        },
                        {
                            "$ref": "#/definitions/AWS::Athena::NamedQuery"
                        },
                        {
                            "$ref": "#/definitions/AWS::Athena::WorkGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::AuditManager::Assessment"
                        },
                        {
                            "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook"
                        },
                        {
                            "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction"
                        },
                        {
                            "$ref": "#/definitions/AWS::AutoScaling::WarmPool"
                        },
                        {
                            "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan"
                        },
                        {
                            "$ref": "#/definitions/AWS::Backup::BackupPlan"
                        },
                        {
                            "$ref": "#/definitions/AWS::Backup::BackupSelection"
                        },
                        {
                            "$ref": "#/definitions/AWS::Backup::BackupVault"
                        },
                        {
                            "$ref": "#/definitions/AWS::Batch::ComputeEnvironment"
                        },
                        {
                            "$ref": "#/definitions/AWS::Batch::JobDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Batch::JobQueue"
                        },
                        {
                            "$ref": "#/definitions/AWS::Budgets::Budget"
                        },
                        {
                            "$ref": "#/definitions/AWS::Budgets::BudgetsAction"
                        },
                        {
                            "$ref": "#/definitions/AWS::CE::AnomalyMonitor"
                        },
                        {
                            "$ref": "#/definitions/AWS::CE::AnomalySubscription"
                        },
                        {
                            "$ref": "#/definitions/AWS::CE::CostCategory"
                        },
                        {
                            "$ref": "#/definitions/AWS::CUR::ReportDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cassandra::Keyspace"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cassandra::Table"
                        },
                        {
                            "$ref": "#/definitions/AWS::CertificateManager::Account"
                        },
                        {
                            "$ref": "#/definitions/AWS::CertificateManager::Certificate"
                        },
                        {
                            "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::CustomResource"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::Macro"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::Stack"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::StackSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::WaitCondition"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::CachePolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::Distribution"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::Function"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::KeyGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::PublicKey"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudTrail::Trail"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudWatch::Alarm"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudWatch::Dashboard"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudWatch::InsightRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::CloudWatch::MetricStream"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeArtifact::Domain"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeArtifact::Repository"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeBuild::Project"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeBuild::ReportGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeBuild::SourceCredential"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeCommit::Repository"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeDeploy::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodePipeline::CustomActionType"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodePipeline::Pipeline"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodePipeline::Webhook"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeStar::GitHubRepository"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeStarConnections::Connection"
                        },
                        {
                            "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::IdentityPool"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPool"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolClient"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolDomain"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolUser"
                        },
                        {
                            "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::AggregationAuthorization"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::ConfigRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::ConfigurationAggregator"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::ConfigurationRecorder"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::ConformancePack"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::DeliveryChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::OrganizationConfigRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::OrganizationConformancePack"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::RemediationConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::Config::StoredQuery"
                        },
                        {
                            "$ref": "#/definitions/AWS::CustomerProfiles::Domain"
                        },
                        {
                            "$ref": "#/definitions/AWS::CustomerProfiles::Integration"
                        },
                        {
                            "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType"
                        },
                        {
                            "$ref": "#/definitions/AWS::DAX::Cluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::DAX::ParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::DAX::SubnetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::DLM::LifecyclePolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::DMS::Certificate"
                        },
                        {
                            "$ref": "#/definitions/AWS::DMS::Endpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::DMS::EventSubscription"
                        },
                        {
                            "$ref": "#/definitions/AWS::DMS::ReplicationInstance"
                        },
                        {
                            "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::DMS::ReplicationTask"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataBrew::Dataset"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataBrew::Job"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataBrew::Project"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataBrew::Recipe"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataBrew::Schedule"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataPipeline::Pipeline"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::Agent"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::LocationEFS"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::LocationNFS"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::LocationS3"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::LocationSMB"
                        },
                        {
                            "$ref": "#/definitions/AWS::DataSync::Task"
                        },
                        {
                            "$ref": "#/definitions/AWS::Detective::Graph"
                        },
                        {
                            "$ref": "#/definitions/AWS::Detective::MemberInvitation"
                        },
                        {
                            "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection"
                        },
                        {
                            "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD"
                        },
                        {
                            "$ref": "#/definitions/AWS::DirectoryService::SimpleAD"
                        },
                        {
                            "$ref": "#/definitions/AWS::DocDB::DBCluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::DocDB::DBInstance"
                        },
                        {
                            "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::DynamoDB::GlobalTable"
                        },
                        {
                            "$ref": "#/definitions/AWS::DynamoDB::Table"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::CapacityReservation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::CarrierGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::ClientVpnRoute"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::CustomerGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::DHCPOptions"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::EC2Fleet"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::EIP"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::EIPAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::FlowLog"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::Host"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::Instance"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::InternetGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::LaunchTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NatGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NetworkAcl"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NetworkAclEntry"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NetworkInterface"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::PlacementGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::PrefixList"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::Route"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::RouteTable"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::SecurityGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::SpotFleet"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::Subnet"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPC"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCCidrBlock"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCEndpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCEndpointService"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPNConnection"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPNGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::Volume"
                        },
                        {
                            "$ref": "#/definitions/AWS::EC2::VolumeAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECR::PublicRepository"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECR::RegistryPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECR::Repository"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECS::CapacityProvider"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECS::Cluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECS::Service"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECS::TaskDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::ECS::TaskSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::EFS::AccessPoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::EFS::FileSystem"
                        },
                        {
                            "$ref": "#/definitions/AWS::EFS::MountTarget"
                        },
                        {
                            "$ref": "#/definitions/AWS::EKS::Addon"
                        },
                        {
                            "$ref": "#/definitions/AWS::EKS::Cluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::EKS::FargateProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::EKS::Nodegroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMR::Cluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMR::SecurityConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMR::Step"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMR::Studio"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMR::StudioSessionMapping"
                        },
                        {
                            "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::CacheCluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::User"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElastiCache::UserGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer"
                        },
                        {
                            "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Elasticsearch::Domain"
                        },
                        {
                            "$ref": "#/definitions/AWS::EventSchemas::Discoverer"
                        },
                        {
                            "$ref": "#/definitions/AWS::EventSchemas::Registry"
                        },
                        {
                            "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::EventSchemas::Schema"
                        },
                        {
                            "$ref": "#/definitions/AWS::Events::ApiDestination"
                        },
                        {
                            "$ref": "#/definitions/AWS::Events::Archive"
                        },
                        {
                            "$ref": "#/definitions/AWS::Events::Connection"
                        },
                        {
                            "$ref": "#/definitions/AWS::Events::EventBus"
                        },
                        {
                            "$ref": "#/definitions/AWS::Events::EventBusPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::Events::Rule"
                        },
                        {
                            "$ref": "#/definitions/AWS::FIS::ExperimentTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::FMS::NotificationChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::FMS::Policy"
                        },
                        {
                            "$ref": "#/definitions/AWS::FSx::FileSystem"
                        },
                        {
                            "$ref": "#/definitions/AWS::FinSpace::Environment"
                        },
                        {
                            "$ref": "#/definitions/AWS::FraudDetector::Detector"
                        },
                        {
                            "$ref": "#/definitions/AWS::FraudDetector::EntityType"
                        },
                        {
                            "$ref": "#/definitions/AWS::FraudDetector::EventType"
                        },
                        {
                            "$ref": "#/definitions/AWS::FraudDetector::Label"
                        },
                        {
                            "$ref": "#/definitions/AWS::FraudDetector::Outcome"
                        },
                        {
                            "$ref": "#/definitions/AWS::FraudDetector::Variable"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::Alias"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::Build"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::Fleet"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::GameServerGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::GameSessionQueue"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::GameLift::Script"
                        },
                        {
                            "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator"
                        },
                        {
                            "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::GlobalAccelerator::Listener"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Classifier"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Connection"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Crawler"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Database"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::DevEndpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Job"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::MLTransform"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Partition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Registry"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Schema"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::SchemaVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::SecurityConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Table"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Trigger"
                        },
                        {
                            "$ref": "#/definitions/AWS::Glue::Workflow"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::CoreDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::Group"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::GroupVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::GroundStation::Config"
                        },
                        {
                            "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::GroundStation::MissionProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::GuardDuty::Detector"
                        },
                        {
                            "$ref": "#/definitions/AWS::GuardDuty::Filter"
                        },
                        {
                            "$ref": "#/definitions/AWS::GuardDuty::IPSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::GuardDuty::Master"
                        },
                        {
                            "$ref": "#/definitions/AWS::GuardDuty::Member"
                        },
                        {
                            "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::AccessKey"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::Group"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::InstanceProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::ManagedPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::OIDCProvider"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::Policy"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::Role"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::SAMLProvider"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::ServerCertificate"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::User"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::UserToGroupAddition"
                        },
                        {
                            "$ref": "#/definitions/AWS::IAM::VirtualMFADevice"
                        },
                        {
                            "$ref": "#/definitions/AWS::IVS::Channel"
                        },
                        {
                            "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair"
                        },
                        {
                            "$ref": "#/definitions/AWS::IVS::RecordingConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::IVS::StreamKey"
                        },
                        {
                            "$ref": "#/definitions/AWS::ImageBuilder::Component"
                        },
                        {
                            "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe"
                        },
                        {
                            "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::ImageBuilder::Image"
                        },
                        {
                            "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline"
                        },
                        {
                            "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe"
                        },
                        {
                            "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::Inspector::AssessmentTarget"
                        },
                        {
                            "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::Inspector::ResourceGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT1Click::Device"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT1Click::Placement"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT1Click::Project"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::Authorizer"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::Certificate"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::CustomMetric"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::Dimension"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::DomainConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::MitigationAction"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::Policy"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::ScheduledAudit"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::SecurityProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::Thing"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::TopicRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoT::TopicRuleDestination"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Channel"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Dataset"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Datastore"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTEvents::DetectorModel"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTEvents::Input"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTFleetHub::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTSiteWise::Asset"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTSiteWise::Gateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTSiteWise::Portal"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTSiteWise::Project"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTWireless::Destination"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice"
                        },
                        {
                            "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway"
                        },
                        {
                            "$ref": "#/definitions/AWS::KMS::Alias"
                        },
                        {
                            "$ref": "#/definitions/AWS::KMS::Key"
                        },
                        {
                            "$ref": "#/definitions/AWS::Kendra::DataSource"
                        },
                        {
                            "$ref": "#/definitions/AWS::Kendra::Faq"
                        },
                        {
                            "$ref": "#/definitions/AWS::Kendra::Index"
                        },
                        {
                            "$ref": "#/definitions/AWS::Kinesis::Stream"
                        },
                        {
                            "$ref": "#/definitions/AWS::Kinesis::StreamConsumer"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisAnalytics::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource"
                        },
                        {
                            "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream"
                        },
                        {
                            "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings"
                        },
                        {
                            "$ref": "#/definitions/AWS::LakeFormation::Permissions"
                        },
                        {
                            "$ref": "#/definitions/AWS::LakeFormation::Resource"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::Alias"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::EventSourceMapping"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::Function"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::LayerVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::Permission"
                        },
                        {
                            "$ref": "#/definitions/AWS::Lambda::Version"
                        },
                        {
                            "$ref": "#/definitions/AWS::LicenseManager::Grant"
                        },
                        {
                            "$ref": "#/definitions/AWS::LicenseManager::License"
                        },
                        {
                            "$ref": "#/definitions/AWS::Location::GeofenceCollection"
                        },
                        {
                            "$ref": "#/definitions/AWS::Location::Map"
                        },
                        {
                            "$ref": "#/definitions/AWS::Location::PlaceIndex"
                        },
                        {
                            "$ref": "#/definitions/AWS::Location::RouteCalculator"
                        },
                        {
                            "$ref": "#/definitions/AWS::Location::Tracker"
                        },
                        {
                            "$ref": "#/definitions/AWS::Location::TrackerConsumer"
                        },
                        {
                            "$ref": "#/definitions/AWS::Logs::Destination"
                        },
                        {
                            "$ref": "#/definitions/AWS::Logs::LogGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Logs::LogStream"
                        },
                        {
                            "$ref": "#/definitions/AWS::Logs::MetricFilter"
                        },
                        {
                            "$ref": "#/definitions/AWS::Logs::QueryDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::Logs::SubscriptionFilter"
                        },
                        {
                            "$ref": "#/definitions/AWS::LookoutMetrics::Alert"
                        },
                        {
                            "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector"
                        },
                        {
                            "$ref": "#/definitions/AWS::LookoutVision::Project"
                        },
                        {
                            "$ref": "#/definitions/AWS::MSK::Cluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::MWAA::Environment"
                        },
                        {
                            "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier"
                        },
                        {
                            "$ref": "#/definitions/AWS::Macie::FindingsFilter"
                        },
                        {
                            "$ref": "#/definitions/AWS::Macie::Session"
                        },
                        {
                            "$ref": "#/definitions/AWS::ManagedBlockchain::Member"
                        },
                        {
                            "$ref": "#/definitions/AWS::ManagedBlockchain::Node"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConnect::Flow"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowOutput"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowSource"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConvert::JobTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConvert::Preset"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaConvert::Queue"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaLive::Channel"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaLive::Input"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaPackage::Asset"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaPackage::Channel"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::MediaStore::Container"
                        },
                        {
                            "$ref": "#/definitions/AWS::Neptune::DBCluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Neptune::DBInstance"
                        },
                        {
                            "$ref": "#/definitions/AWS::Neptune::DBParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkFirewall::Firewall"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkManager::Device"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkManager::Link"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkManager::Site"
                        },
                        {
                            "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration"
                        },
                        {
                            "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage"
                        },
                        {
                            "$ref": "#/definitions/AWS::NimbleStudio::Studio"
                        },
                        {
                            "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorks::App"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorks::Instance"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorks::Layer"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorks::Stack"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorks::UserProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorks::Volume"
                        },
                        {
                            "$ref": "#/definitions/AWS::OpsWorksCM::Server"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::ADMChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::APNSChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::App"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::Campaign"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::EmailChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::EventStream"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::GCMChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::PushTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::SMSChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::Segment"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate"
                        },
                        {
                            "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination"
                        },
                        {
                            "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool"
                        },
                        {
                            "$ref": "#/definitions/AWS::PinpointEmail::Identity"
                        },
                        {
                            "$ref": "#/definitions/AWS::QLDB::Ledger"
                        },
                        {
                            "$ref": "#/definitions/AWS::QLDB::Stream"
                        },
                        {
                            "$ref": "#/definitions/AWS::QuickSight::Analysis"
                        },
                        {
                            "$ref": "#/definitions/AWS::QuickSight::Dashboard"
                        },
                        {
                            "$ref": "#/definitions/AWS::QuickSight::DataSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::QuickSight::DataSource"
                        },
                        {
                            "$ref": "#/definitions/AWS::QuickSight::Template"
                        },
                        {
                            "$ref": "#/definitions/AWS::QuickSight::Theme"
                        },
                        {
                            "$ref": "#/definitions/AWS::RAM::ResourceShare"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBCluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBInstance"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBProxy"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBSecurityGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::DBSubnetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::EventSubscription"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::GlobalCluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::RDS::OptionGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Redshift::Cluster"
                        },
                        {
                            "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress"
                        },
                        {
                            "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ResourceGroups::Group"
                        },
                        {
                            "$ref": "#/definitions/AWS::RoboMaker::Fleet"
                        },
                        {
                            "$ref": "#/definitions/AWS::RoboMaker::Robot"
                        },
                        {
                            "$ref": "#/definitions/AWS::RoboMaker::RobotApplication"
                        },
                        {
                            "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication"
                        },
                        {
                            "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53::DNSSEC"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53::HealthCheck"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53::HostedZone"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53::KeySigningKey"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53::RecordSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53::RecordSetGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3::AccessPoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3::Bucket"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3::BucketPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3::StorageLens"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3Outposts::AccessPoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3Outposts::Bucket"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::S3Outposts::Endpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::SDB::Domain"
                        },
                        {
                            "$ref": "#/definitions/AWS::SES::ConfigurationSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination"
                        },
                        {
                            "$ref": "#/definitions/AWS::SES::ContactList"
                        },
                        {
                            "$ref": "#/definitions/AWS::SES::ReceiptFilter"
                        },
                        {
                            "$ref": "#/definitions/AWS::SES::ReceiptRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::SES::ReceiptRuleSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::SES::Template"
                        },
                        {
                            "$ref": "#/definitions/AWS::SNS::Subscription"
                        },
                        {
                            "$ref": "#/definitions/AWS::SNS::Topic"
                        },
                        {
                            "$ref": "#/definitions/AWS::SNS::TopicPolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::SQS::Queue"
                        },
                        {
                            "$ref": "#/definitions/AWS::SQS::QueuePolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::Association"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::Document"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::MaintenanceWindow"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::Parameter"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::PatchBaseline"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSM::ResourceDataSync"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSMContacts::Contact"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSMContacts::ContactChannel"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSO::Assignment"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration"
                        },
                        {
                            "$ref": "#/definitions/AWS::SSO::PermissionSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::App"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::AppImageConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::CodeRepository"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Device"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::DeviceFleet"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Domain"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Endpoint"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::EndpointConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::FeatureGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Image"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::ImageVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Model"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::NotebookInstance"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Pipeline"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Project"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::UserProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::SageMaker::Workteam"
                        },
                        {
                            "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy"
                        },
                        {
                            "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule"
                        },
                        {
                            "$ref": "#/definitions/AWS::SecretsManager::Secret"
                        },
                        {
                            "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment"
                        },
                        {
                            "$ref": "#/definitions/AWS::SecurityHub::Hub"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Api"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::Function"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::LayerVersion"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::SimpleTable"
                        },
                        {
                            "$ref": "#/definitions/AWS::Serverless::StateMachine"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::TagOption"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::Instance"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace"
                        },
                        {
                            "$ref": "#/definitions/AWS::ServiceDiscovery::Service"
                        },
                        {
                            "$ref": "#/definitions/AWS::Signer::ProfilePermission"
                        },
                        {
                            "$ref": "#/definitions/AWS::Signer::SigningProfile"
                        },
                        {
                            "$ref": "#/definitions/AWS::StepFunctions::Activity"
                        },
                        {
                            "$ref": "#/definitions/AWS::StepFunctions::StateMachine"
                        },
                        {
                            "$ref": "#/definitions/AWS::Synthetics::Canary"
                        },
                        {
                            "$ref": "#/definitions/AWS::Timestream::Database"
                        },
                        {
                            "$ref": "#/definitions/AWS::Timestream::Table"
                        },
                        {
                            "$ref": "#/definitions/AWS::Transfer::Server"
                        },
                        {
                            "$ref": "#/definitions/AWS::Transfer::User"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAF::ByteMatchSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAF::IPSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAF::Rule"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAF::SizeConstraintSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAF::WebACL"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAF::XssMatchSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::IPSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::Rule"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::WebACL"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFv2::IPSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFv2::RuleGroup"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFv2::WebACL"
                        },
                        {
                            "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation"
                        },
                        {
                            "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias"
                        },
                        {
                            "$ref": "#/definitions/AWS::WorkSpaces::Workspace"
                        },
                        {
                            "$ref": "#/definitions/AWS::XRay::Group"
                        },
                        {
                            "$ref": "#/definitions/AWS::XRay::SamplingRule"
                        },
                        {
                            "$ref": "#/definitions/Alexa::ASK::Skill"
                        }
                    ]
                }
            },
            "type": "object"
        },
        "Transform": {
            "enum": [
                "AWS::Serverless-2016-10-31"
            ],
            "type": "string"
        }
    },
    "required": [
        "Transform",
        "Resources"
    ],
    "type": "object"
}`
