cloudformation.schema.json

{
    "$id": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "definitions": {
        "AWS::ACMPCA::Certificate": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.CustomAttribute": {
            "additionalProperties": false,
            "properties": {
                "ObjectIdentifier": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "ObjectIdentifier",
                "Value"
            ],
            "type": "object"
        },
        "AWS::ACMPCA::Certificate.CustomExtension": {
            "additionalProperties": false,
            "properties": {
                "Critical": {
                    "type": "boolean"
                },
                "ObjectIdentifier": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "ObjectIdentifier",
                "Value"
            ],
            "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"
                },
                "CustomExtensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::Certificate.CustomExtension"
                    },
                    "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"
                },
                "CustomAttributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::Certificate.CustomAttribute"
                    },
                    "type": "array"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "UsageMode": {
                            "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.CustomAttribute": {
            "additionalProperties": false,
            "properties": {
                "ObjectIdentifier": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "ObjectIdentifier",
                "Value"
            ],
            "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.OcspConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "OcspCustomCname": {
                    "type": "string"
                }
            },
            "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"
                },
                "OcspConfiguration": {
                    "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OcspConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::ACMPCA::CertificateAuthority.Subject": {
            "additionalProperties": false,
            "properties": {
                "CommonName": {
                    "type": "string"
                },
                "Country": {
                    "type": "string"
                },
                "CustomAttributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CustomAttribute"
                    },
                    "type": "array"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::ACMPCA::Permission": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "CertificateAuthorityArn": {
                            "type": "string"
                        },
                        "Principal": {
                            "type": "string"
                        },
                        "SourceAccount": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Actions",
                        "CertificateAuthorityArn",
                        "Principal"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ACMPCA::Permission"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::APS::RuleGroupsNamespace": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Data": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Workspace": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Data",
                        "Name",
                        "Workspace"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::APS::RuleGroupsNamespace"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::APS::Workspace": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AlertManagerDefinition": {
                            "type": "string"
                        },
                        "Alias": {
                            "type": "string"
                        },
                        "LoggingConfiguration": {
                            "$ref": "#/definitions/AWS::APS::Workspace.LoggingConfiguration"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::APS::Workspace"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::APS::Workspace.LoggingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "LogGroupArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AccessAnalyzer::Analyzer": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DataReplicationMode": {
                            "type": "string"
                        },
                        "DataReplicationPrimaryBrokerArn": {
                            "type": "string"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Platform": {
                            "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"
                },
                "Framework": {
                    "type": "string"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Framework": {
                            "type": "string"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::AmplifyUIBuilder::Component": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "BindingProperties": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue"
                                }
                            },
                            "type": "object"
                        },
                        "Children": {
                            "items": {
                                "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild"
                            },
                            "type": "array"
                        },
                        "CollectionProperties": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration"
                                }
                            },
                            "type": "object"
                        },
                        "ComponentType": {
                            "type": "string"
                        },
                        "EnvironmentName": {
                            "type": "string"
                        },
                        "Events": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent"
                                }
                            },
                            "type": "object"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Overrides": {
                            "type": "object"
                        },
                        "Properties": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                                }
                            },
                            "type": "object"
                        },
                        "SchemaVersion": {
                            "type": "string"
                        },
                        "SourceId": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Variants": {
                            "items": {
                                "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentVariant"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "BindingProperties",
                        "ComponentType",
                        "Name",
                        "Overrides",
                        "Properties",
                        "Variants"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AmplifyUIBuilder::Component"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ActionParameters": {
            "additionalProperties": false,
            "properties": {
                "Anchor": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                },
                "Fields": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                        }
                    },
                    "type": "object"
                },
                "Global": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                },
                "Id": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                },
                "Model": {
                    "type": "string"
                },
                "State": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter"
                },
                "Target": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                },
                "Type": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                },
                "Url": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue": {
            "additionalProperties": false,
            "properties": {
                "BindingProperties": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties"
                },
                "DefaultValue": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties": {
            "additionalProperties": false,
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "DefaultValue": {
                    "type": "string"
                },
                "Field": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Model": {
                    "type": "string"
                },
                "Predicates": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate"
                    },
                    "type": "array"
                },
                "UserAttribute": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentChild": {
            "additionalProperties": false,
            "properties": {
                "Children": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild"
                    },
                    "type": "array"
                },
                "ComponentType": {
                    "type": "string"
                },
                "Events": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent"
                        }
                    },
                    "type": "object"
                },
                "Name": {
                    "type": "string"
                },
                "Properties": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                        }
                    },
                    "type": "object"
                }
            },
            "required": [
                "ComponentType",
                "Name",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentConditionProperty": {
            "additionalProperties": false,
            "properties": {
                "Else": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                },
                "Field": {
                    "type": "string"
                },
                "Operand": {
                    "type": "string"
                },
                "OperandType": {
                    "type": "string"
                },
                "Operator": {
                    "type": "string"
                },
                "Property": {
                    "type": "string"
                },
                "Then": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Identifiers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Model": {
                    "type": "string"
                },
                "Predicate": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate"
                },
                "Sort": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.SortProperty"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Model"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentEvent": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "Parameters": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ActionParameters"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentProperty": {
            "additionalProperties": false,
            "properties": {
                "BindingProperties": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties"
                },
                "Bindings": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.FormBindingElement"
                        }
                    },
                    "type": "object"
                },
                "CollectionBindingProperties": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties"
                },
                "ComponentName": {
                    "type": "string"
                },
                "Concat": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                    },
                    "type": "array"
                },
                "Condition": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentConditionProperty"
                },
                "Configured": {
                    "type": "boolean"
                },
                "DefaultValue": {
                    "type": "string"
                },
                "Event": {
                    "type": "string"
                },
                "ImportedValue": {
                    "type": "string"
                },
                "Model": {
                    "type": "string"
                },
                "Property": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                },
                "UserAttribute": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties": {
            "additionalProperties": false,
            "properties": {
                "Field": {
                    "type": "string"
                },
                "Property": {
                    "type": "string"
                }
            },
            "required": [
                "Property"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.ComponentVariant": {
            "additionalProperties": false,
            "properties": {
                "Overrides": {
                    "type": "object"
                },
                "VariantValues": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.FormBindingElement": {
            "additionalProperties": false,
            "properties": {
                "Element": {
                    "type": "string"
                },
                "Property": {
                    "type": "string"
                }
            },
            "required": [
                "Element",
                "Property"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter": {
            "additionalProperties": false,
            "properties": {
                "ComponentName": {
                    "type": "string"
                },
                "Property": {
                    "type": "string"
                },
                "Set": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty"
                }
            },
            "required": [
                "ComponentName",
                "Property",
                "Set"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.Predicate": {
            "additionalProperties": false,
            "properties": {
                "And": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate"
                    },
                    "type": "array"
                },
                "Field": {
                    "type": "string"
                },
                "Operand": {
                    "type": "string"
                },
                "Operator": {
                    "type": "string"
                },
                "Or": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Component.SortProperty": {
            "additionalProperties": false,
            "properties": {
                "Direction": {
                    "type": "string"
                },
                "Field": {
                    "type": "string"
                }
            },
            "required": [
                "Direction",
                "Field"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Cta": {
                            "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormCTA"
                        },
                        "DataType": {
                            "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormDataTypeConfig"
                        },
                        "EnvironmentName": {
                            "type": "string"
                        },
                        "Fields": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldConfig"
                                }
                            },
                            "type": "object"
                        },
                        "FormActionType": {
                            "type": "string"
                        },
                        "LabelDecorator": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "SchemaVersion": {
                            "type": "string"
                        },
                        "SectionalElements": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.SectionalElement"
                                }
                            },
                            "type": "object"
                        },
                        "Style": {
                            "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyle"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "required": [
                        "DataType",
                        "Fields",
                        "FormActionType",
                        "Name",
                        "SchemaVersion",
                        "SectionalElements",
                        "Style"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AmplifyUIBuilder::Form"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FieldConfig": {
            "additionalProperties": false,
            "properties": {
                "Excluded": {
                    "type": "boolean"
                },
                "InputType": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldInputConfig"
                },
                "Label": {
                    "type": "string"
                },
                "Position": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition"
                },
                "Validations": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FieldInputConfig": {
            "additionalProperties": false,
            "properties": {
                "DefaultChecked": {
                    "type": "boolean"
                },
                "DefaultCountryCode": {
                    "type": "string"
                },
                "DefaultValue": {
                    "type": "string"
                },
                "DescriptiveText": {
                    "type": "string"
                },
                "FileUploaderConfig": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig"
                },
                "IsArray": {
                    "type": "boolean"
                },
                "MaxValue": {
                    "type": "number"
                },
                "MinValue": {
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "Placeholder": {
                    "type": "string"
                },
                "ReadOnly": {
                    "type": "boolean"
                },
                "Required": {
                    "type": "boolean"
                },
                "Step": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                },
                "ValueMappings": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMappings"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FieldPosition": {
            "additionalProperties": false,
            "properties": {
                "Below": {
                    "type": "string"
                },
                "Fixed": {
                    "type": "string"
                },
                "RightOf": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "NumValues": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "StrValues": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Type": {
                    "type": "string"
                },
                "ValidationMessage": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig": {
            "additionalProperties": false,
            "properties": {
                "AcceptedFileTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AccessLevel": {
                    "type": "string"
                },
                "IsResumable": {
                    "type": "boolean"
                },
                "MaxFileCount": {
                    "type": "number"
                },
                "MaxSize": {
                    "type": "number"
                },
                "ShowThumbnails": {
                    "type": "boolean"
                }
            },
            "required": [
                "AcceptedFileTypes",
                "AccessLevel"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FormButton": {
            "additionalProperties": false,
            "properties": {
                "Children": {
                    "type": "string"
                },
                "Excluded": {
                    "type": "boolean"
                },
                "Position": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FormCTA": {
            "additionalProperties": false,
            "properties": {
                "Cancel": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton"
                },
                "Clear": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton"
                },
                "Position": {
                    "type": "string"
                },
                "Submit": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FormDataTypeConfig": {
            "additionalProperties": false,
            "properties": {
                "DataSourceType": {
                    "type": "string"
                },
                "DataTypeName": {
                    "type": "string"
                }
            },
            "required": [
                "DataSourceType",
                "DataTypeName"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FormInputValueProperty": {
            "additionalProperties": false,
            "properties": {
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FormStyle": {
            "additionalProperties": false,
            "properties": {
                "HorizontalGap": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig"
                },
                "OuterPadding": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig"
                },
                "VerticalGap": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.FormStyleConfig": {
            "additionalProperties": false,
            "properties": {
                "TokenReference": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.SectionalElement": {
            "additionalProperties": false,
            "properties": {
                "Excluded": {
                    "type": "boolean"
                },
                "Level": {
                    "type": "number"
                },
                "Orientation": {
                    "type": "string"
                },
                "Position": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition"
                },
                "Text": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.ValueMapping": {
            "additionalProperties": false,
            "properties": {
                "DisplayValue": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty"
                },
                "Value": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty"
                }
            },
            "required": [
                "Value"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Form.ValueMappings": {
            "additionalProperties": false,
            "properties": {
                "Values": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMapping"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Values"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Theme": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "EnvironmentName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Overrides": {
                            "items": {
                                "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Values": {
                            "items": {
                                "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "Values"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AmplifyUIBuilder::Theme"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Theme.ThemeValue": {
            "additionalProperties": false,
            "properties": {
                "Children": {
                    "items": {
                        "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues"
                    },
                    "type": "array"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AmplifyUIBuilder::Theme.ThemeValues": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValue"
                }
            },
            "type": "object"
        },
        "AWS::ApiGateway::Account": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": [
                        "Name",
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Id": {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "OwnershipVerificationCertificateArn": {
                            "type": "string"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Mode": {
                            "type": "string"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "OwnershipVerificationCertificateArn": {
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::RouteResponse": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse.ParameterConstraints"
                                }
                            },
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "KmsKeyIdentifier": {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::Extension": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "type": "object"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "LatestVersionNumber": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Parameters": {
                            "additionalProperties": false,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter"
                                }
                            },
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Actions",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::Extension"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppConfig::Extension.Parameter": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "Required": {
                    "type": "boolean"
                }
            },
            "required": [
                "Required"
            ],
            "type": "object"
        },
        "AWS::AppConfig::ExtensionAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExtensionIdentifier": {
                            "type": "string"
                        },
                        "ExtensionVersionNumber": {
                            "type": "number"
                        },
                        "Parameters": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "ResourceIdentifier": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppConfig::ExtensionAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppConfig::HostedConfigurationVersion": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "VersionLabel": {
                            "type": "string"
                        }
                    },
                    "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::Connector": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectorLabel": {
                            "type": "string"
                        },
                        "ConnectorProvisioningConfig": {
                            "$ref": "#/definitions/AWS::AppFlow::Connector.ConnectorProvisioningConfig"
                        },
                        "ConnectorProvisioningType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ConnectorProvisioningConfig",
                        "ConnectorProvisioningType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppFlow::Connector"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Connector.ConnectorProvisioningConfig": {
            "additionalProperties": false,
            "properties": {
                "Lambda": {
                    "$ref": "#/definitions/AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig": {
            "additionalProperties": false,
            "properties": {
                "LambdaArn": {
                    "type": "string"
                }
            },
            "required": [
                "LambdaArn"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ConnectorLabel": {
                            "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.ApiKeyCredentials": {
            "additionalProperties": false,
            "properties": {
                "ApiKey": {
                    "type": "string"
                },
                "ApiSecretKey": {
                    "type": "string"
                }
            },
            "required": [
                "ApiKey"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.BasicAuthCredentials": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "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"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "Amplitude": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials"
                },
                "CustomConnector": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials"
                },
                "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"
                },
                "Pardot": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials"
                },
                "Redshift": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials"
                },
                "SAPOData": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials"
                },
                "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": {
                "CustomConnector": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties"
                },
                "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"
                },
                "Pardot": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties"
                },
                "Redshift": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties"
                },
                "SAPOData": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties"
                },
                "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.CustomAuthCredentials": {
            "additionalProperties": false,
            "properties": {
                "CredentialsMap": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "CustomAuthenticationType": {
                    "type": "string"
                }
            },
            "required": [
                "CustomAuthenticationType"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "ApiKey": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ApiKeyCredentials"
                },
                "AuthenticationType": {
                    "type": "string"
                },
                "Basic": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials"
                },
                "Custom": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomAuthCredentials"
                },
                "Oauth2": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials"
                }
            },
            "required": [
                "AuthenticationType"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "OAuth2Properties": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Properties"
                },
                "ProfileProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "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.OAuth2Credentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "OAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.OAuth2Properties": {
            "additionalProperties": false,
            "properties": {
                "OAuth2GrantType": {
                    "type": "string"
                },
                "TokenUrl": {
                    "type": "string"
                },
                "TokenUrlCustomProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.OAuthCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.OAuthProperties": {
            "additionalProperties": false,
            "properties": {
                "AuthCodeUrl": {
                    "type": "string"
                },
                "OAuthScopes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TokenUrl": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientCredentialsArn": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "BusinessUnitId": {
                    "type": "string"
                },
                "InstanceUrl": {
                    "type": "string"
                },
                "IsSandboxEnvironment": {
                    "type": "boolean"
                }
            },
            "required": [
                "BusinessUnitId"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "ClusterIdentifier": {
                    "type": "string"
                },
                "DataApiRoleArn": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "DatabaseUrl": {
                    "type": "string"
                },
                "IsRedshiftServerless": {
                    "type": "boolean"
                },
                "RoleArn": {
                    "type": "string"
                },
                "WorkgroupName": {
                    "type": "string"
                }
            },
            "required": [
                "BucketName",
                "RoleArn"
            ],
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "BasicAuthCredentials": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials"
                },
                "OAuthCredentials": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthCredentials"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "ApplicationHostUrl": {
                    "type": "string"
                },
                "ApplicationServicePath": {
                    "type": "string"
                },
                "ClientNumber": {
                    "type": "string"
                },
                "DisableSSO": {
                    "type": "boolean"
                },
                "LogonLanguage": {
                    "type": "string"
                },
                "OAuthProperties": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthProperties"
                },
                "PortNumber": {
                    "type": "number"
                },
                "PrivateLinkServiceName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccessToken": {
                    "type": "string"
                },
                "ClientCredentialsArn": {
                    "type": "string"
                },
                "ConnectorOAuthRequest": {
                    "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest"
                },
                "JwtToken": {
                    "type": "string"
                },
                "OAuth2GrantType": {
                    "type": "string"
                },
                "RefreshToken": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": {
            "additionalProperties": false,
            "properties": {
                "InstanceUrl": {
                    "type": "string"
                },
                "isSandboxEnvironment": {
                    "type": "boolean"
                },
                "usePrivateLinkForMetadataAndAuthorization": {
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "FlowStatus": {
                            "type": "string"
                        },
                        "KMSArn": {
                            "type": "string"
                        },
                        "MetadataCatalogConfig": {
                            "$ref": "#/definitions/AWS::AppFlow::Flow.MetadataCatalogConfig"
                        },
                        "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"
                },
                "TargetFileSize": {
                    "type": "number"
                }
            },
            "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"
                },
                "CustomConnector": {
                    "type": "string"
                },
                "Datadog": {
                    "type": "string"
                },
                "Dynatrace": {
                    "type": "string"
                },
                "GoogleAnalytics": {
                    "type": "string"
                },
                "InforNexus": {
                    "type": "string"
                },
                "Marketo": {
                    "type": "string"
                },
                "Pardot": {
                    "type": "string"
                },
                "S3": {
                    "type": "string"
                },
                "SAPOData": {
                    "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.CustomConnectorDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "CustomProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "EntityName": {
                    "type": "string"
                },
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "IdFieldNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "WriteOperationType": {
                    "type": "string"
                }
            },
            "required": [
                "EntityName"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.CustomConnectorSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "CustomProperties": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "DataTransferApi": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.DataTransferApi"
                },
                "EntityName": {
                    "type": "string"
                }
            },
            "required": [
                "EntityName"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.DataTransferApi": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.DatadogSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.DestinationConnectorProperties": {
            "additionalProperties": false,
            "properties": {
                "CustomConnector": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorDestinationProperties"
                },
                "EventBridge": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties"
                },
                "LookoutMetrics": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties"
                },
                "Marketo": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoDestinationProperties"
                },
                "Redshift": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties"
                },
                "SAPOData": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataDestinationProperties"
                },
                "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": {
                "ApiVersion": {
                    "type": "string"
                },
                "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.GlueDataCatalog": {
            "additionalProperties": false,
            "properties": {
                "DatabaseName": {
                    "type": "string"
                },
                "RoleArn": {
                    "type": "string"
                },
                "TablePrefix": {
                    "type": "string"
                }
            },
            "required": [
                "DatabaseName",
                "RoleArn",
                "TablePrefix"
            ],
            "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.MarketoDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.MarketoSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.MetadataCatalogConfig": {
            "additionalProperties": false,
            "properties": {
                "GlueDataCatalog": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.GlueDataCatalog"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.PardotSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.PrefixConfig": {
            "additionalProperties": false,
            "properties": {
                "PathPrefixHierarchy": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "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.S3InputFormatConfig": {
            "additionalProperties": false,
            "properties": {
                "S3InputFileType": {
                    "type": "string"
                }
            },
            "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"
                },
                "PreserveSourceDataTyping": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::AppFlow::Flow.S3SourceProperties": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "S3InputFormatConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.S3InputFormatConfig"
                }
            },
            "required": [
                "BucketName",
                "BucketPrefix"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SAPODataDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "ErrorHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig"
                },
                "IdFieldNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ObjectPath": {
                    "type": "string"
                },
                "SuccessResponseHandlingConfig": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SuccessResponseHandlingConfig"
                },
                "WriteOperationType": {
                    "type": "string"
                }
            },
            "required": [
                "ObjectPath"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SAPODataSourceProperties": {
            "additionalProperties": false,
            "properties": {
                "ObjectPath": {
                    "type": "string"
                }
            },
            "required": [
                "ObjectPath"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.SalesforceDestinationProperties": {
            "additionalProperties": false,
            "properties": {
                "DataTransferApi": {
                    "type": "string"
                },
                "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": {
                "DataTransferApi": {
                    "type": "string"
                },
                "EnableDynamicFieldUpdate": {
                    "type": "boolean"
                },
                "IncludeDeletedRecords": {
                    "type": "boolean"
                },
                "Object": {
                    "type": "string"
                }
            },
            "required": [
                "Object"
            ],
            "type": "object"
        },
        "AWS::AppFlow::Flow.ScheduledTriggerProperties": {
            "additionalProperties": false,
            "properties": {
                "DataPullMode": {
                    "type": "string"
                },
                "FirstExecutionFrom": {
                    "type": "number"
                },
                "FlowErrorDeactivationThreshold": {
                    "type": "number"
                },
                "ScheduleEndTime": {
                    "type": "number"
                },
                "ScheduleExpression": {
                    "type": "string"
                },
                "ScheduleOffset": {
                    "type": "number"
                },
                "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"
                },
                "CustomConnector": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorSourceProperties"
                },
                "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"
                },
                "Pardot": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.PardotSourceProperties"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties"
                },
                "SAPOData": {
                    "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataSourceProperties"
                },
                "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": {
                "ApiVersion": {
                    "type": "string"
                },
                "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.SuccessResponseHandlingConfig": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                }
            },
            "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": {
                "DocumentType": {
                    "type": "string"
                },
                "IncludeAllVersions": {
                    "type": "boolean"
                },
                "IncludeRenditions": {
                    "type": "boolean"
                },
                "IncludeSourceFiles": {
                    "type": "boolean"
                },
                "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::DataIntegration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "FileConfiguration": {
                            "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.FileConfiguration"
                        },
                        "KmsKey": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ObjectConfiguration": {
                            "type": "object"
                        },
                        "ScheduleConfig": {
                            "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.ScheduleConfig"
                        },
                        "SourceURI": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "KmsKey",
                        "Name",
                        "ScheduleConfig",
                        "SourceURI"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppIntegrations::DataIntegration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppIntegrations::DataIntegration.FileConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Filters": {
                    "type": "object"
                },
                "Folders": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Folders"
            ],
            "type": "object"
        },
        "AWS::AppIntegrations::DataIntegration.ScheduleConfig": {
            "additionalProperties": false,
            "properties": {
                "FirstExecutionFrom": {
                    "type": "string"
                },
                "Object": {
                    "type": "string"
                },
                "ScheduleExpression": {
                    "type": "string"
                }
            },
            "required": [
                "ScheduleExpression"
            ],
            "type": "object"
        },
        "AWS::AppIntegrations::EventIntegration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::AppMesh::GatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.GatewayRouteHostnameMatch": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                },
                "Suffix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": {
            "additionalProperties": false,
            "properties": {
                "DefaultTargetHostname": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "Range": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch"
                },
                "Regex": {
                    "type": "string"
                },
                "Suffix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": {
            "additionalProperties": false,
            "properties": {
                "End": {
                    "type": "number"
                },
                "Start": {
                    "type": "number"
                }
            },
            "required": [
                "End",
                "Start"
            ],
            "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"
                },
                "Priority": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": {
            "additionalProperties": false,
            "properties": {
                "Port": {
                    "type": "number"
                },
                "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": {
                "Rewrite": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite"
                },
                "Target": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget"
                }
            },
            "required": [
                "Target"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": {
            "additionalProperties": false,
            "properties": {
                "Hostname": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch"
                },
                "Metadata": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata"
                    },
                    "type": "array"
                },
                "Port": {
                    "type": "number"
                },
                "ServiceName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": {
            "additionalProperties": false,
            "properties": {
                "Invert": {
                    "type": "boolean"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": {
            "additionalProperties": false,
            "properties": {
                "Hostname": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite"
                }
            },
            "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": {
                "Rewrite": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite"
                },
                "Target": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget"
                }
            },
            "required": [
                "Target"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": {
            "additionalProperties": false,
            "properties": {
                "Invert": {
                    "type": "boolean"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                },
                "Prefix": {
                    "type": "string"
                },
                "Range": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch"
                },
                "Regex": {
                    "type": "string"
                },
                "Suffix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": {
            "additionalProperties": false,
            "properties": {
                "Headers": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader"
                    },
                    "type": "array"
                },
                "Hostname": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch"
                },
                "Method": {
                    "type": "string"
                },
                "Path": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch"
                },
                "Port": {
                    "type": "number"
                },
                "Prefix": {
                    "type": "string"
                },
                "QueryParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": {
            "additionalProperties": false,
            "properties": {
                "DefaultPrefix": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": {
            "additionalProperties": false,
            "properties": {
                "Hostname": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite"
                },
                "Path": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite"
                },
                "Prefix": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpPathMatch": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                },
                "Regex": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::GatewayRoute.QueryParameter": {
            "additionalProperties": false,
            "properties": {
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::AppMesh::Mesh": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.MeshServiceDiscovery": {
            "additionalProperties": false,
            "properties": {
                "IpPreference": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Mesh.MeshSpec": {
            "additionalProperties": false,
            "properties": {
                "EgressFilter": {
                    "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter"
                },
                "ServiceDiscovery": {
                    "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshServiceDiscovery"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "Port": {
                    "type": "number"
                },
                "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.HttpPathMatch": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "type": "string"
                },
                "Regex": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppMesh::Route.HttpQueryParameterMatch": {
            "additionalProperties": false,
            "properties": {
                "Exact": {
                    "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"
                },
                "Path": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpPathMatch"
                },
                "Port": {
                    "type": "number"
                },
                "Prefix": {
                    "type": "string"
                },
                "QueryParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::Route.QueryParameter"
                    },
                    "type": "array"
                },
                "Scheme": {
                    "type": "string"
                }
            },
            "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.QueryParameter": {
            "additionalProperties": false,
            "properties": {
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.HttpQueryParameterMatch"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "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"
                },
                "Match": {
                    "$ref": "#/definitions/AWS::AppMesh::Route.TcpRouteMatch"
                },
                "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.TcpRouteMatch": {
            "additionalProperties": false,
            "properties": {
                "Port": {
                    "type": "number"
                }
            },
            "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": {
                "Port": {
                    "type": "number"
                },
                "VirtualNode": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "VirtualNode",
                "Weight"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.JsonFormatRef": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppMesh::VirtualGateway.LoggingFormat": {
            "additionalProperties": false,
            "properties": {
                "Json": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.JsonFormatRef"
                    },
                    "type": "array"
                },
                "Text": {
                    "type": "string"
                }
            },
            "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": {
                "Format": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.LoggingFormat"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "IpPreference": {
                    "type": "string"
                },
                "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"
                },
                "IpPreference": {
                    "type": "string"
                },
                "ResponseType": {
                    "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": {
                "Format": {
                    "$ref": "#/definitions/AWS::AppMesh::VirtualNode.LoggingFormat"
                },
                "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.JsonFormatRef": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "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.LoggingFormat": {
            "additionalProperties": false,
            "properties": {
                "Json": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppMesh::VirtualNode.JsonFormatRef"
                    },
                    "type": "array"
                },
                "Text": {
                    "type": "string"
                }
            },
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::AutoScalingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoScalingConfigurationName": {
                            "type": "string"
                        },
                        "MaxConcurrency": {
                            "type": "number"
                        },
                        "MaxSize": {
                            "type": "number"
                        },
                        "MinSize": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppRunner::AutoScalingConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppRunner::ObservabilityConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ObservabilityConfigurationName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TraceConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::ObservabilityConfiguration.TraceConfiguration"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppRunner::ObservabilityConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppRunner::ObservabilityConfiguration.TraceConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Vendor": {
                    "type": "string"
                }
            },
            "required": [
                "Vendor"
            ],
            "type": "object"
        },
        "AWS::AppRunner::Service": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "NetworkConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::Service.NetworkConfiguration"
                        },
                        "ObservabilityConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::Service.ServiceObservabilityConfiguration"
                        },
                        "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"
                },
                "RuntimeEnvironmentSecrets": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair"
                    },
                    "type": "array"
                },
                "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.EgressConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EgressType": {
                    "type": "string"
                },
                "VpcConnectorArn": {
                    "type": "string"
                }
            },
            "required": [
                "EgressType"
            ],
            "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"
                },
                "RuntimeEnvironmentSecrets": {
                    "items": {
                        "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair"
                    },
                    "type": "array"
                },
                "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.IngressConfiguration": {
            "additionalProperties": false,
            "properties": {
                "IsPubliclyAccessible": {
                    "type": "boolean"
                }
            },
            "required": [
                "IsPubliclyAccessible"
            ],
            "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.NetworkConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EgressConfiguration": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.EgressConfiguration"
                },
                "IngressConfiguration": {
                    "$ref": "#/definitions/AWS::AppRunner::Service.IngressConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::AppRunner::Service.ServiceObservabilityConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ObservabilityConfigurationArn": {
                    "type": "string"
                },
                "ObservabilityEnabled": {
                    "type": "boolean"
                }
            },
            "required": [
                "ObservabilityEnabled"
            ],
            "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::AppRunner::VpcConnector": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "SecurityGroups": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Subnets": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcConnectorName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Subnets"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppRunner::VpcConnector"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppRunner::VpcIngressConnection": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "IngressVpcConfiguration": {
                            "$ref": "#/definitions/AWS::AppRunner::VpcIngressConnection.IngressVpcConfiguration"
                        },
                        "ServiceArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcIngressConnectionName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "IngressVpcConfiguration",
                        "ServiceArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppRunner::VpcIngressConnection"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppRunner::VpcIngressConnection.IngressVpcConfiguration": {
            "additionalProperties": false,
            "properties": {
                "VpcEndpointId": {
                    "type": "string"
                },
                "VpcId": {
                    "type": "string"
                }
            },
            "required": [
                "VpcEndpointId",
                "VpcId"
            ],
            "type": "object"
        },
        "AWS::AppStream::AppBlock": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "PackagingType": {
                            "type": "string"
                        },
                        "PostSetupScriptDetails": {
                            "$ref": "#/definitions/AWS::AppStream::AppBlock.ScriptDetails"
                        },
                        "SetupScriptDetails": {
                            "$ref": "#/definitions/AWS::AppStream::AppBlock.ScriptDetails"
                        },
                        "SourceS3Location": {
                            "$ref": "#/definitions/AWS::AppStream::AppBlock.S3Location"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name",
                        "SourceS3Location"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::AppBlock"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::AppBlock.S3Location": {
            "additionalProperties": false,
            "properties": {
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                }
            },
            "required": [
                "S3Bucket"
            ],
            "type": "object"
        },
        "AWS::AppStream::AppBlock.ScriptDetails": {
            "additionalProperties": false,
            "properties": {
                "ExecutableParameters": {
                    "type": "string"
                },
                "ExecutablePath": {
                    "type": "string"
                },
                "ScriptS3Location": {
                    "$ref": "#/definitions/AWS::AppStream::AppBlock.S3Location"
                },
                "TimeoutInSeconds": {
                    "type": "number"
                }
            },
            "required": [
                "ExecutablePath",
                "ScriptS3Location",
                "TimeoutInSeconds"
            ],
            "type": "object"
        },
        "AWS::AppStream::AppBlockBuilder": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::AppBlockBuilder.AccessEndpoint"
                            },
                            "type": "array"
                        },
                        "AppBlockArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "EnableDefaultInternetAccess": {
                            "type": "boolean"
                        },
                        "IamRoleArn": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Platform": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::AppStream::AppBlockBuilder.VpcConfig"
                        }
                    },
                    "required": [
                        "InstanceType",
                        "Name",
                        "Platform",
                        "VpcConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::AppBlockBuilder"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::AppBlockBuilder.AccessEndpoint": {
            "additionalProperties": false,
            "properties": {
                "EndpointType": {
                    "type": "string"
                },
                "VpceId": {
                    "type": "string"
                }
            },
            "required": [
                "EndpointType",
                "VpceId"
            ],
            "type": "object"
        },
        "AWS::AppStream::AppBlockBuilder.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::AppStream::Application": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppBlockArn": {
                            "type": "string"
                        },
                        "AttributesToDelete": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "IconS3Location": {
                            "$ref": "#/definitions/AWS::AppStream::Application.S3Location"
                        },
                        "InstanceFamilies": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "LaunchParameters": {
                            "type": "string"
                        },
                        "LaunchPath": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Platforms": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "WorkingDirectory": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AppBlockArn",
                        "IconS3Location",
                        "InstanceFamilies",
                        "LaunchPath",
                        "Name",
                        "Platforms"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::Application"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::Application.S3Location": {
            "additionalProperties": false,
            "properties": {
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                }
            },
            "required": [
                "S3Bucket",
                "S3Key"
            ],
            "type": "object"
        },
        "AWS::AppStream::ApplicationEntitlementAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationIdentifier": {
                            "type": "string"
                        },
                        "EntitlementName": {
                            "type": "string"
                        },
                        "StackName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationIdentifier",
                        "EntitlementName",
                        "StackName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::ApplicationEntitlementAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::ApplicationFleetAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationArn": {
                            "type": "string"
                        },
                        "FleetName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationArn",
                        "FleetName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::ApplicationFleetAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::DirectoryConfig": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CertificateBasedAuthProperties": {
                            "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.CertificateBasedAuthProperties"
                        },
                        "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.CertificateBasedAuthProperties": {
            "additionalProperties": false,
            "properties": {
                "CertificateAuthorityArn": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": {
            "additionalProperties": false,
            "properties": {
                "AccountName": {
                    "type": "string"
                },
                "AccountPassword": {
                    "type": "string"
                }
            },
            "required": [
                "AccountName",
                "AccountPassword"
            ],
            "type": "object"
        },
        "AWS::AppStream::Entitlement": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AppVisibility": {
                            "type": "string"
                        },
                        "Attributes": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppStream::Entitlement.Attribute"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "StackName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AppVisibility",
                        "Attributes",
                        "Name",
                        "StackName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppStream::Entitlement"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppStream::Entitlement.Attribute": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AppStream::Fleet": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "MaxConcurrentSessions": {
                            "type": "number"
                        },
                        "MaxUserDurationInSeconds": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Platform": {
                            "type": "string"
                        },
                        "SessionScriptS3Location": {
                            "$ref": "#/definitions/AWS::AppStream::Fleet.S3Location"
                        },
                        "StreamView": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UsbDeviceFilterStrings": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig"
                        }
                    },
                    "required": [
                        "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.S3Location": {
            "additionalProperties": false,
            "properties": {
                "S3Bucket": {
                    "type": "string"
                },
                "S3Key": {
                    "type": "string"
                }
            },
            "required": [
                "S3Bucket",
                "S3Key"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "StreamingExperienceSettings": {
                            "$ref": "#/definitions/AWS::AppStream::Stack.StreamingExperienceSettings"
                        },
                        "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.StreamingExperienceSettings": {
            "additionalProperties": false,
            "properties": {
                "PreferredProtocol": {
                    "type": "string"
                }
            },
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "EventBridgeConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.EventBridgeConfig"
                        },
                        "HttpConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig"
                        },
                        "LambdaConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OpenSearchServiceConfig": {
                            "$ref": "#/definitions/AWS::AppSync::DataSource.OpenSearchServiceConfig"
                        },
                        "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.EventBridgeConfig": {
            "additionalProperties": false,
            "properties": {
                "EventBusArn": {
                    "type": "string"
                }
            },
            "required": [
                "EventBusArn"
            ],
            "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.OpenSearchServiceConfig": {
            "additionalProperties": false,
            "properties": {
                "AwsRegion": {
                    "type": "string"
                },
                "Endpoint": {
                    "type": "string"
                }
            },
            "required": [
                "AwsRegion",
                "Endpoint"
            ],
            "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::DomainName": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CertificateArn",
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::DomainName"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::DomainNameApiAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DomainName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApiId",
                        "DomainName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::DomainNameApiAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::AppSync::FunctionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Code": {
                            "type": "string"
                        },
                        "CodeS3Location": {
                            "type": "string"
                        },
                        "DataSourceName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "FunctionVersion": {
                            "type": "string"
                        },
                        "MaxBatchSize": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RequestMappingTemplate": {
                            "type": "string"
                        },
                        "RequestMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "ResponseMappingTemplate": {
                            "type": "string"
                        },
                        "ResponseMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "Runtime": {
                            "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.AppSyncRuntime"
                        },
                        "SyncConfig": {
                            "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig"
                        }
                    },
                    "required": [
                        "ApiId",
                        "DataSourceName",
                        "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.AppSyncRuntime": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "RuntimeVersion": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "RuntimeVersion"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "items": {
                                "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider"
                            },
                            "type": "array"
                        },
                        "ApiType": {
                            "type": "string"
                        },
                        "AuthenticationType": {
                            "type": "string"
                        },
                        "LambdaAuthorizerConfig": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig"
                        },
                        "LogConfig": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig"
                        },
                        "MergedApiExecutionRoleArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OpenIDConnectConfig": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig"
                        },
                        "OwnerContact": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "UserPoolConfig": {
                            "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig"
                        },
                        "Visibility": {
                            "type": "string"
                        },
                        "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"
                },
                "LambdaAuthorizerConfig": {
                    "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig"
                },
                "OpenIDConnectConfig": {
                    "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig"
                },
                "UserPoolConfig": {
                    "$ref": "#/definitions/AWS::AppSync::GraphQLApi.CognitoUserPoolConfig"
                }
            },
            "required": [
                "AuthenticationType"
            ],
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": {
            "additionalProperties": false,
            "properties": {
                "AppIdClientRegex": {
                    "type": "string"
                },
                "AwsRegion": {
                    "type": "string"
                },
                "UserPoolId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig": {
            "additionalProperties": false,
            "properties": {
                "AuthorizerResultTtlInSeconds": {
                    "type": "number"
                },
                "AuthorizerUri": {
                    "type": "string"
                },
                "IdentityValidationExpression": {
                    "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.UserPoolConfig": {
            "additionalProperties": false,
            "properties": {
                "AppIdClientRegex": {
                    "type": "string"
                },
                "AwsRegion": {
                    "type": "string"
                },
                "DefaultAction": {
                    "type": "string"
                },
                "UserPoolId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::AppSync::GraphQLSchema": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Code": {
                            "type": "string"
                        },
                        "CodeS3Location": {
                            "type": "string"
                        },
                        "DataSourceName": {
                            "type": "string"
                        },
                        "FieldName": {
                            "type": "string"
                        },
                        "Kind": {
                            "type": "string"
                        },
                        "MaxBatchSize": {
                            "type": "number"
                        },
                        "PipelineConfig": {
                            "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig"
                        },
                        "RequestMappingTemplate": {
                            "type": "string"
                        },
                        "RequestMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "ResponseMappingTemplate": {
                            "type": "string"
                        },
                        "ResponseMappingTemplateS3Location": {
                            "type": "string"
                        },
                        "Runtime": {
                            "$ref": "#/definitions/AWS::AppSync::Resolver.AppSyncRuntime"
                        },
                        "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.AppSyncRuntime": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "RuntimeVersion": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "RuntimeVersion"
            ],
            "type": "object"
        },
        "AWS::AppSync::Resolver.CachingConfig": {
            "additionalProperties": false,
            "properties": {
                "CachingKeys": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Ttl": {
                    "type": "number"
                }
            },
            "required": [
                "Ttl"
            ],
            "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::AppSync::SourceApiAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "MergedApiIdentifier": {
                            "type": "string"
                        },
                        "SourceApiAssociationConfig": {
                            "$ref": "#/definitions/AWS::AppSync::SourceApiAssociation.SourceApiAssociationConfig"
                        },
                        "SourceApiIdentifier": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::AppSync::SourceApiAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::AppSync::SourceApiAssociation.SourceApiAssociationConfig": {
            "additionalProperties": false,
            "properties": {
                "MergeType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationAutoScaling::ScalableTarget": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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",
                        "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"
                },
                "Timezone": {
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "GroupingType": {
                            "type": "string"
                        },
                        "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"
                },
                "HAClusterPrometheusExporter": {
                    "$ref": "#/definitions/AWS::ApplicationInsights::Application.HAClusterPrometheusExporter"
                },
                "HANAPrometheusExporter": {
                    "$ref": "#/definitions/AWS::ApplicationInsights::Application.HANAPrometheusExporter"
                },
                "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.HAClusterPrometheusExporter": {
            "additionalProperties": false,
            "properties": {
                "PrometheusPort": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ApplicationInsights::Application.HANAPrometheusExporter": {
            "additionalProperties": false,
            "properties": {
                "AgreeToInstallHANADBClient": {
                    "type": "boolean"
                },
                "HANAPort": {
                    "type": "string"
                },
                "HANASID": {
                    "type": "string"
                },
                "HANASecretName": {
                    "type": "string"
                },
                "PrometheusPort": {
                    "type": "string"
                }
            },
            "required": [
                "AgreeToInstallHANADBClient",
                "HANAPort",
                "HANASID",
                "HANASecretName"
            ],
            "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::CapacityReservation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CapacityAssignmentConfiguration": {
                            "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetDpus": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "Name",
                        "TargetDpus"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Athena::CapacityReservation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Athena::CapacityReservation.CapacityAssignment": {
            "additionalProperties": false,
            "properties": {
                "WorkgroupNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "WorkgroupNames"
            ],
            "type": "object"
        },
        "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "CapacityAssignments": {
                    "items": {
                        "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment"
                    },
                    "type": "array"
                }
            },
            "required": [
                "CapacityAssignments"
            ],
            "type": "object"
        },
        "AWS::Athena::DataCatalog": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::PreparedStatement": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "QueryStatement": {
                            "type": "string"
                        },
                        "StatementName": {
                            "type": "string"
                        },
                        "WorkGroup": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "QueryStatement",
                        "StatementName",
                        "WorkGroup"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Athena::PreparedStatement"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Athena::WorkGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        }
                    },
                    "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.AclConfiguration": {
            "additionalProperties": false,
            "properties": {
                "S3AclOption": {
                    "type": "string"
                }
            },
            "required": [
                "S3AclOption"
            ],
            "type": "object"
        },
        "AWS::Athena::WorkGroup.CustomerContentEncryptionConfiguration": {
            "additionalProperties": false,
            "properties": {
                "KmsKey": {
                    "type": "string"
                }
            },
            "required": [
                "KmsKey"
            ],
            "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": {
                "AclConfiguration": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.AclConfiguration"
                },
                "EncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration"
                },
                "ExpectedBucketOwner": {
                    "type": "string"
                },
                "OutputLocation": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Athena::WorkGroup.WorkGroupConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AdditionalConfiguration": {
                    "type": "string"
                },
                "BytesScannedCutoffPerQuery": {
                    "type": "number"
                },
                "CustomerContentEncryptionConfiguration": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.CustomerContentEncryptionConfiguration"
                },
                "EnforceWorkGroupConfiguration": {
                    "type": "boolean"
                },
                "EngineVersion": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion"
                },
                "ExecutionRole": {
                    "type": "string"
                },
                "PublishCloudWatchMetricsEnabled": {
                    "type": "boolean"
                },
                "RequesterPaysEnabled": {
                    "type": "boolean"
                },
                "ResultConfiguration": {
                    "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration"
                }
            },
            "type": "object"
        },
        "AWS::AuditManager::Assessment": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Delegations": {
                            "items": {
                                "$ref": "#/definitions/AWS::AuditManager::Assessment.Delegation"
                            },
                            "type": "array"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "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"
                        },
                        "Context": {
                            "type": "string"
                        },
                        "Cooldown": {
                            "type": "string"
                        },
                        "DefaultInstanceWarmup": {
                            "type": "number"
                        },
                        "DesiredCapacity": {
                            "type": "string"
                        },
                        "DesiredCapacityType": {
                            "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.AcceleratorCountRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.AcceleratorTotalMemoryMiBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.BaselineEbsBandwidthMbpsRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements": {
            "additionalProperties": false,
            "properties": {
                "AcceleratorCount": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.AcceleratorCountRequest"
                },
                "AcceleratorManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorTotalMemoryMiB": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.AcceleratorTotalMemoryMiBRequest"
                },
                "AcceleratorTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "BareMetal": {
                    "type": "string"
                },
                "BaselineEbsBandwidthMbps": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.BaselineEbsBandwidthMbpsRequest"
                },
                "BurstablePerformance": {
                    "type": "string"
                },
                "CpuManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExcludedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InstanceGenerations": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "LocalStorage": {
                    "type": "string"
                },
                "LocalStorageTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MemoryGiBPerVCpu": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MemoryGiBPerVCpuRequest"
                },
                "MemoryMiB": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MemoryMiBRequest"
                },
                "NetworkBandwidthGbps": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NetworkBandwidthGbpsRequest"
                },
                "NetworkInterfaceCount": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NetworkInterfaceCountRequest"
                },
                "OnDemandMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "RequireHibernateSupport": {
                    "type": "boolean"
                },
                "SpotMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "TotalLocalStorageGB": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TotalLocalStorageGBRequest"
                },
                "VCpuCount": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest"
                }
            },
            "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": {
                "InstanceRequirements": {
                    "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstanceRequirements"
                },
                "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.MemoryGiBPerVCpuRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.MemoryMiBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "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.NetworkBandwidthGbpsRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.NetworkInterfaceCountRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "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::AutoScalingGroup.TotalLocalStorageGBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::AutoScaling::LaunchConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "Throughput": {
                    "type": "number"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "PredictiveScalingConfiguration": {
                            "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingConfiguration"
                        },
                        "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.Metric": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "Namespace"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.MetricDataQuery": {
            "additionalProperties": false,
            "properties": {
                "Expression": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "MetricStat": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricStat"
                },
                "ReturnData": {
                    "type": "boolean"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.MetricDimension": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "Value"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.MetricStat": {
            "additionalProperties": false,
            "properties": {
                "Metric": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.Metric"
                },
                "Stat": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "Metric",
                "Stat"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "PredefinedMetricType": {
                    "type": "string"
                },
                "ResourceLabel": {
                    "type": "string"
                }
            },
            "required": [
                "PredefinedMetricType"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingConfiguration": {
            "additionalProperties": false,
            "properties": {
                "MaxCapacityBreachBehavior": {
                    "type": "string"
                },
                "MaxCapacityBuffer": {
                    "type": "number"
                },
                "MetricSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingMetricSpecification"
                    },
                    "type": "array"
                },
                "Mode": {
                    "type": "string"
                },
                "SchedulingBufferTime": {
                    "type": "number"
                }
            },
            "required": [
                "MetricSpecifications"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedCapacityMetric": {
            "additionalProperties": false,
            "properties": {
                "MetricDataQueries": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDataQuery"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MetricDataQueries"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedLoadMetric": {
            "additionalProperties": false,
            "properties": {
                "MetricDataQueries": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDataQuery"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MetricDataQueries"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedScalingMetric": {
            "additionalProperties": false,
            "properties": {
                "MetricDataQueries": {
                    "items": {
                        "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDataQuery"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MetricDataQueries"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingMetricSpecification": {
            "additionalProperties": false,
            "properties": {
                "CustomizedCapacityMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedCapacityMetric"
                },
                "CustomizedLoadMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedLoadMetric"
                },
                "CustomizedScalingMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedScalingMetric"
                },
                "PredefinedLoadMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedLoadMetric"
                },
                "PredefinedMetricPairSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedMetricPair"
                },
                "PredefinedScalingMetricSpecification": {
                    "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedScalingMetric"
                },
                "TargetValue": {
                    "type": "number"
                }
            },
            "required": [
                "TargetValue"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedLoadMetric": {
            "additionalProperties": false,
            "properties": {
                "PredefinedMetricType": {
                    "type": "string"
                },
                "ResourceLabel": {
                    "type": "string"
                }
            },
            "required": [
                "PredefinedMetricType"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedMetricPair": {
            "additionalProperties": false,
            "properties": {
                "PredefinedMetricType": {
                    "type": "string"
                },
                "ResourceLabel": {
                    "type": "string"
                }
            },
            "required": [
                "PredefinedMetricType"
            ],
            "type": "object"
        },
        "AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedScalingMetric": {
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "TimeZone": {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "InstanceReusePolicy": {
                            "$ref": "#/definitions/AWS::AutoScaling::WarmPool.InstanceReusePolicy"
                        },
                        "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::AutoScaling::WarmPool.InstanceReusePolicy": {
            "additionalProperties": false,
            "properties": {
                "ReuseOnScaleIn": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::AutoScalingPlans::ScalingPlan": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "ScheduleExpressionTimezone": {
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Conditions": {
                    "$ref": "#/definitions/AWS::Backup::BackupSelection.Conditions"
                },
                "IamRoleArn": {
                    "type": "string"
                },
                "ListOfTags": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType"
                    },
                    "type": "array"
                },
                "NotResources": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Resources": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SelectionName": {
                    "type": "string"
                }
            },
            "required": [
                "IamRoleArn",
                "SelectionName"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupSelection.ConditionParameter": {
            "additionalProperties": false,
            "properties": {
                "ConditionKey": {
                    "type": "string"
                },
                "ConditionValue": {
                    "type": "string"
                }
            },
            "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::BackupSelection.Conditions": {
            "additionalProperties": false,
            "properties": {
                "StringEquals": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionParameter"
                    },
                    "type": "array"
                },
                "StringLike": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionParameter"
                    },
                    "type": "array"
                },
                "StringNotEquals": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionParameter"
                    },
                    "type": "array"
                },
                "StringNotLike": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionParameter"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Backup::BackupVault": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "LockConfiguration": {
                            "$ref": "#/definitions/AWS::Backup::BackupVault.LockConfigurationType"
                        },
                        "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.LockConfigurationType": {
            "additionalProperties": false,
            "properties": {
                "ChangeableForDays": {
                    "type": "number"
                },
                "MaxRetentionDays": {
                    "type": "number"
                },
                "MinRetentionDays": {
                    "type": "number"
                }
            },
            "required": [
                "MinRetentionDays"
            ],
            "type": "object"
        },
        "AWS::Backup::BackupVault.NotificationObjectType": {
            "additionalProperties": false,
            "properties": {
                "BackupVaultEvents": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SNSTopicArn": {
                    "type": "string"
                }
            },
            "required": [
                "BackupVaultEvents",
                "SNSTopicArn"
            ],
            "type": "object"
        },
        "AWS::Backup::Framework": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FrameworkControls": {
                            "items": {
                                "$ref": "#/definitions/AWS::Backup::Framework.FrameworkControl"
                            },
                            "type": "array"
                        },
                        "FrameworkDescription": {
                            "type": "string"
                        },
                        "FrameworkName": {
                            "type": "string"
                        },
                        "FrameworkTags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "FrameworkControls"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Backup::Framework"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Backup::Framework.ControlInputParameter": {
            "additionalProperties": false,
            "properties": {
                "ParameterName": {
                    "type": "string"
                },
                "ParameterValue": {
                    "type": "string"
                }
            },
            "required": [
                "ParameterName",
                "ParameterValue"
            ],
            "type": "object"
        },
        "AWS::Backup::Framework.ControlScope": {
            "additionalProperties": false,
            "properties": {
                "ComplianceResourceIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ComplianceResourceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Backup::Framework.FrameworkControl": {
            "additionalProperties": false,
            "properties": {
                "ControlInputParameters": {
                    "items": {
                        "$ref": "#/definitions/AWS::Backup::Framework.ControlInputParameter"
                    },
                    "type": "array"
                },
                "ControlName": {
                    "type": "string"
                },
                "ControlScope": {
                    "$ref": "#/definitions/AWS::Backup::Framework.ControlScope"
                }
            },
            "required": [
                "ControlName"
            ],
            "type": "object"
        },
        "AWS::Backup::ReportPlan": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ReportDeliveryChannel": {
                            "$ref": "#/definitions/AWS::Backup::ReportPlan.ReportDeliveryChannel"
                        },
                        "ReportPlanDescription": {
                            "type": "string"
                        },
                        "ReportPlanName": {
                            "type": "string"
                        },
                        "ReportPlanTags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "ReportSetting": {
                            "$ref": "#/definitions/AWS::Backup::ReportPlan.ReportSetting"
                        }
                    },
                    "required": [
                        "ReportDeliveryChannel",
                        "ReportSetting"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Backup::ReportPlan"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Backup::ReportPlan.ReportDeliveryChannel": {
            "additionalProperties": false,
            "properties": {
                "Formats": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "S3BucketName": {
                    "type": "string"
                },
                "S3KeyPrefix": {
                    "type": "string"
                }
            },
            "required": [
                "S3BucketName"
            ],
            "type": "object"
        },
        "AWS::Backup::ReportPlan.ReportSetting": {
            "additionalProperties": false,
            "properties": {
                "Accounts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "FrameworkArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "OrganizationUnits": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Regions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ReportTemplate": {
                    "type": "string"
                }
            },
            "required": [
                "ReportTemplate"
            ],
            "type": "object"
        },
        "AWS::BackupGateway::Hypervisor": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Host": {
                            "type": "string"
                        },
                        "KmsKeyArn": {
                            "type": "string"
                        },
                        "LogGroupArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Password": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Username": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::BackupGateway::Hypervisor"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "EksConfiguration": {
                            "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.EksConfiguration"
                        },
                        "ReplaceComputeEnvironment": {
                            "type": "boolean"
                        },
                        "ServiceRole": {
                            "type": "string"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "UnmanagedvCpus": {
                            "type": "number"
                        },
                        "UpdatePolicy": {
                            "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.UpdatePolicy"
                        }
                    },
                    "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": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "type": "string"
                },
                "UpdateToLatestImageVersion": {
                    "type": "boolean"
                }
            },
            "required": [
                "MaxvCpus",
                "Subnets",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": {
            "additionalProperties": false,
            "properties": {
                "ImageIdOverride": {
                    "type": "string"
                },
                "ImageKubernetesVersion": {
                    "type": "string"
                },
                "ImageType": {
                    "type": "string"
                }
            },
            "required": [
                "ImageType"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment.EksConfiguration": {
            "additionalProperties": false,
            "properties": {
                "EksClusterArn": {
                    "type": "string"
                },
                "KubernetesNamespace": {
                    "type": "string"
                }
            },
            "required": [
                "EksClusterArn",
                "KubernetesNamespace"
            ],
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": {
            "additionalProperties": false,
            "properties": {
                "LaunchTemplateId": {
                    "type": "string"
                },
                "LaunchTemplateName": {
                    "type": "string"
                },
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::ComputeEnvironment.UpdatePolicy": {
            "additionalProperties": false,
            "properties": {
                "JobExecutionTimeoutMinutes": {
                    "type": "number"
                },
                "TerminateJobsOnUpdate": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "EksProperties": {
                            "$ref": "#/definitions/AWS::Batch::JobDefinition.EksProperties"
                        },
                        "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"
                        },
                        "SchedulingPriority": {
                            "type": "number"
                        },
                        "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"
                },
                "EphemeralStorage": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.EphemeralStorage"
                },
                "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"
                },
                "RuntimePlatform": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.RuntimePlatform"
                },
                "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.EksContainer": {
            "additionalProperties": false,
            "properties": {
                "Args": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Command": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Env": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerEnvironmentVariable"
                    },
                    "type": "array"
                },
                "Image": {
                    "type": "string"
                },
                "ImagePullPolicy": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "Resources": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerResourceRequirements"
                },
                "SecurityContext": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerSecurityContext"
                },
                "VolumeMounts": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainerVolumeMount"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Image"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksContainerEnvironmentVariable": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksContainerResourceRequirements": {
            "additionalProperties": false,
            "properties": {
                "Limits": {
                    "type": "object"
                },
                "Requests": {
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksContainerSecurityContext": {
            "additionalProperties": false,
            "properties": {
                "Privileged": {
                    "type": "boolean"
                },
                "ReadOnlyRootFilesystem": {
                    "type": "boolean"
                },
                "RunAsGroup": {
                    "type": "number"
                },
                "RunAsNonRoot": {
                    "type": "boolean"
                },
                "RunAsUser": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksContainerVolumeMount": {
            "additionalProperties": false,
            "properties": {
                "MountPath": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "ReadOnly": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksEmptyDir": {
            "additionalProperties": false,
            "properties": {
                "Medium": {
                    "type": "string"
                },
                "SizeLimit": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksHostPath": {
            "additionalProperties": false,
            "properties": {
                "Path": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksProperties": {
            "additionalProperties": false,
            "properties": {
                "PodProperties": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.PodProperties"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksSecret": {
            "additionalProperties": false,
            "properties": {
                "Optional": {
                    "type": "boolean"
                },
                "SecretName": {
                    "type": "string"
                }
            },
            "required": [
                "SecretName"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EksVolume": {
            "additionalProperties": false,
            "properties": {
                "EmptyDir": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.EksEmptyDir"
                },
                "HostPath": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.EksHostPath"
                },
                "Name": {
                    "type": "string"
                },
                "Secret": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.EksSecret"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::Batch::JobDefinition.Environment": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Batch::JobDefinition.EphemeralStorage": {
            "additionalProperties": false,
            "properties": {
                "SizeInGiB": {
                    "type": "number"
                }
            },
            "required": [
                "SizeInGiB"
            ],
            "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.Metadata": {
            "additionalProperties": false,
            "properties": {
                "Labels": {
                    "type": "object"
                }
            },
            "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.PodProperties": {
            "additionalProperties": false,
            "properties": {
                "Containers": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.EksContainer"
                    },
                    "type": "array"
                },
                "DnsPolicy": {
                    "type": "string"
                },
                "HostNetwork": {
                    "type": "boolean"
                },
                "Metadata": {
                    "$ref": "#/definitions/AWS::Batch::JobDefinition.Metadata"
                },
                "ServiceAccountName": {
                    "type": "string"
                },
                "Volumes": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::JobDefinition.EksVolume"
                    },
                    "type": "array"
                }
            },
            "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.RuntimePlatform": {
            "additionalProperties": false,
            "properties": {
                "CpuArchitecture": {
                    "type": "string"
                },
                "OperatingSystemFamily": {
                    "type": "string"
                }
            },
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "SchedulingPolicyArn": {
                            "type": "string"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "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::Batch::SchedulingPolicy": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FairsharePolicy": {
                            "$ref": "#/definitions/AWS::Batch::SchedulingPolicy.FairsharePolicy"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Batch::SchedulingPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Batch::SchedulingPolicy.FairsharePolicy": {
            "additionalProperties": false,
            "properties": {
                "ComputeReservation": {
                    "type": "number"
                },
                "ShareDecaySeconds": {
                    "type": "number"
                },
                "ShareDistribution": {
                    "items": {
                        "$ref": "#/definitions/AWS::Batch::SchedulingPolicy.ShareAttributes"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Batch::SchedulingPolicy.ShareAttributes": {
            "additionalProperties": false,
            "properties": {
                "ShareIdentifier": {
                    "type": "string"
                },
                "WeightFactor": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::BillingConductor::BillingGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccountGrouping": {
                            "$ref": "#/definitions/AWS::BillingConductor::BillingGroup.AccountGrouping"
                        },
                        "ComputationPreference": {
                            "$ref": "#/definitions/AWS::BillingConductor::BillingGroup.ComputationPreference"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "PrimaryAccountId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AccountGrouping",
                        "ComputationPreference",
                        "Name",
                        "PrimaryAccountId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::BillingConductor::BillingGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::BillingGroup.AccountGrouping": {
            "additionalProperties": false,
            "properties": {
                "AutoAssociate": {
                    "type": "boolean"
                },
                "LinkedAccountIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "LinkedAccountIds"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::BillingGroup.ComputationPreference": {
            "additionalProperties": false,
            "properties": {
                "PricingPlanArn": {
                    "type": "string"
                }
            },
            "required": [
                "PricingPlanArn"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::CustomLineItem": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BillingGroupArn": {
                            "type": "string"
                        },
                        "BillingPeriodRange": {
                            "$ref": "#/definitions/AWS::BillingConductor::CustomLineItem.BillingPeriodRange"
                        },
                        "CustomLineItemChargeDetails": {
                            "$ref": "#/definitions/AWS::BillingConductor::CustomLineItem.CustomLineItemChargeDetails"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "BillingGroupArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::BillingConductor::CustomLineItem"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::CustomLineItem.BillingPeriodRange": {
            "additionalProperties": false,
            "properties": {
                "ExclusiveEndBillingPeriod": {
                    "type": "string"
                },
                "InclusiveStartBillingPeriod": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::BillingConductor::CustomLineItem.CustomLineItemChargeDetails": {
            "additionalProperties": false,
            "properties": {
                "Flat": {
                    "$ref": "#/definitions/AWS::BillingConductor::CustomLineItem.CustomLineItemFlatChargeDetails"
                },
                "Percentage": {
                    "$ref": "#/definitions/AWS::BillingConductor::CustomLineItem.CustomLineItemPercentageChargeDetails"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::CustomLineItem.CustomLineItemFlatChargeDetails": {
            "additionalProperties": false,
            "properties": {
                "ChargeValue": {
                    "type": "number"
                }
            },
            "required": [
                "ChargeValue"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::CustomLineItem.CustomLineItemPercentageChargeDetails": {
            "additionalProperties": false,
            "properties": {
                "ChildAssociatedResources": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "PercentageValue": {
                    "type": "number"
                }
            },
            "required": [
                "PercentageValue"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::PricingPlan": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "PricingRuleArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::BillingConductor::PricingPlan"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::PricingRule": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "BillingEntity": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "ModifierPercentage": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Operation": {
                            "type": "string"
                        },
                        "Scope": {
                            "type": "string"
                        },
                        "Service": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Tiering": {
                            "$ref": "#/definitions/AWS::BillingConductor::PricingRule.Tiering"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "UsageType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "Scope",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::BillingConductor::PricingRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::PricingRule.FreeTier": {
            "additionalProperties": false,
            "properties": {
                "Activated": {
                    "type": "boolean"
                }
            },
            "required": [
                "Activated"
            ],
            "type": "object"
        },
        "AWS::BillingConductor::PricingRule.Tiering": {
            "additionalProperties": false,
            "properties": {
                "FreeTier": {
                    "$ref": "#/definitions/AWS::BillingConductor::PricingRule.FreeTier"
                }
            },
            "type": "object"
        },
        "AWS::Budgets::Budget": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.AutoAdjustData": {
            "additionalProperties": false,
            "properties": {
                "AutoAdjustType": {
                    "type": "string"
                },
                "HistoricalOptions": {
                    "$ref": "#/definitions/AWS::Budgets::Budget.HistoricalOptions"
                }
            },
            "required": [
                "AutoAdjustType"
            ],
            "type": "object"
        },
        "AWS::Budgets::Budget.BudgetData": {
            "additionalProperties": false,
            "properties": {
                "AutoAdjustData": {
                    "$ref": "#/definitions/AWS::Budgets::Budget.AutoAdjustData"
                },
                "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.HistoricalOptions": {
            "additionalProperties": false,
            "properties": {
                "BudgetAdjustmentPeriod": {
                    "type": "number"
                }
            },
            "required": [
                "BudgetAdjustmentPeriod"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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",
                        "Subscribers"
                    ],
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ResourceTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::CE::AnomalyMonitor.ResourceTag"
                            },
                            "type": "array"
                        }
                    },
                    "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::AnomalyMonitor.ResourceTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CE::AnomalySubscription": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ResourceTags": {
                            "items": {
                                "$ref": "#/definitions/AWS::CE::AnomalySubscription.ResourceTag"
                            },
                            "type": "array"
                        },
                        "Subscribers": {
                            "items": {
                                "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber"
                            },
                            "type": "array"
                        },
                        "SubscriptionName": {
                            "type": "string"
                        },
                        "Threshold": {
                            "type": "number"
                        },
                        "ThresholdExpression": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Frequency",
                        "MonitorArnList",
                        "Subscribers",
                        "SubscriptionName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CE::AnomalySubscription"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CE::AnomalySubscription.ResourceTag": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "SplitChargeRules": {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ReplicationSpecification": {
                            "$ref": "#/definitions/AWS::Cassandra::Keyspace.ReplicationSpecification"
                        },
                        "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::Keyspace.ReplicationSpecification": {
            "additionalProperties": false,
            "properties": {
                "RegionList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ReplicationStrategy": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cassandra::Table": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ClientSideTimestampsEnabled": {
                            "type": "boolean"
                        },
                        "ClusteringKeyColumns": {
                            "items": {
                                "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn"
                            },
                            "type": "array"
                        },
                        "DefaultTimeToLive": {
                            "type": "number"
                        },
                        "EncryptionSpecification": {
                            "$ref": "#/definitions/AWS::Cassandra::Table.EncryptionSpecification"
                        },
                        "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.EncryptionSpecification": {
            "additionalProperties": false,
            "properties": {
                "EncryptionType": {
                    "type": "string"
                },
                "KmsKeyIdentifier": {
                    "type": "string"
                }
            },
            "required": [
                "EncryptionType"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "KeyAlgorithm": {
                            "type": "string"
                        },
                        "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::MicrosoftTeamsChannelConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "GuardrailPolicies": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "IamRoleArn": {
                            "type": "string"
                        },
                        "LoggingLevel": {
                            "type": "string"
                        },
                        "SnsTopicArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "TeamId": {
                            "type": "string"
                        },
                        "TeamsChannelId": {
                            "type": "string"
                        },
                        "TeamsTenantId": {
                            "type": "string"
                        },
                        "UserRoleRequired": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "ConfigurationName",
                        "IamRoleArn",
                        "TeamId",
                        "TeamsChannelId",
                        "TeamsTenantId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Chatbot::MicrosoftTeamsChannelConfiguration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Chatbot::SlackChannelConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "GuardrailPolicies": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "IamRoleArn": {
                            "type": "string"
                        },
                        "LoggingLevel": {
                            "type": "string"
                        },
                        "SlackChannelId": {
                            "type": "string"
                        },
                        "SlackWorkspaceId": {
                            "type": "string"
                        },
                        "SnsTopicArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "UserRoleRequired": {
                            "type": "boolean"
                        }
                    },
                    "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::CleanRooms::Collaboration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CreatorDisplayName": {
                            "type": "string"
                        },
                        "CreatorMemberAbilities": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "DataEncryptionMetadata": {
                            "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Members": {
                            "items": {
                                "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "QueryLogStatus": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CreatorDisplayName",
                        "CreatorMemberAbilities",
                        "Description",
                        "Members",
                        "Name",
                        "QueryLogStatus"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CleanRooms::Collaboration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": {
            "additionalProperties": false,
            "properties": {
                "AllowCleartext": {
                    "type": "boolean"
                },
                "AllowDuplicates": {
                    "type": "boolean"
                },
                "AllowJoinsOnColumnsWithDifferentNames": {
                    "type": "boolean"
                },
                "PreserveNulls": {
                    "type": "boolean"
                }
            },
            "required": [
                "AllowCleartext",
                "AllowDuplicates",
                "AllowJoinsOnColumnsWithDifferentNames",
                "PreserveNulls"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::Collaboration.MemberSpecification": {
            "additionalProperties": false,
            "properties": {
                "AccountId": {
                    "type": "string"
                },
                "DisplayName": {
                    "type": "string"
                },
                "MemberAbilities": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "AccountId",
                "DisplayName",
                "MemberAbilities"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllowedColumns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "AnalysisMethod": {
                            "type": "string"
                        },
                        "AnalysisRules": {
                            "items": {
                                "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "TableReference": {
                            "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AllowedColumns",
                        "AnalysisMethod",
                        "Name",
                        "TableReference"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CleanRooms::ConfiguredTable"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.AggregateColumn": {
            "additionalProperties": false,
            "properties": {
                "ColumnNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Function": {
                    "type": "string"
                }
            },
            "required": [
                "ColumnNames",
                "Function"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": {
            "additionalProperties": false,
            "properties": {
                "ColumnName": {
                    "type": "string"
                },
                "Minimum": {
                    "type": "number"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "ColumnName",
                "Minimum",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.AnalysisRule": {
            "additionalProperties": false,
            "properties": {
                "Policy": {
                    "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Policy",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": {
            "additionalProperties": false,
            "properties": {
                "AggregateColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn"
                    },
                    "type": "array"
                },
                "AllowedJoinOperators": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DimensionColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "JoinColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "JoinRequired": {
                    "type": "string"
                },
                "OutputConstraints": {
                    "items": {
                        "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint"
                    },
                    "type": "array"
                },
                "ScalarFunctions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "AggregateColumns",
                "DimensionColumns",
                "JoinColumns",
                "OutputConstraints",
                "ScalarFunctions"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": {
            "additionalProperties": false,
            "properties": {
                "AllowedJoinOperators": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "JoinColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ListColumns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "JoinColumns",
                "ListColumns"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": {
            "additionalProperties": false,
            "properties": {
                "V1": {
                    "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1"
                }
            },
            "required": [
                "V1"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": {
            "additionalProperties": false,
            "properties": {
                "Aggregation": {
                    "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation"
                },
                "List": {
                    "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList"
                }
            },
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.GlueTableReference": {
            "additionalProperties": false,
            "properties": {
                "DatabaseName": {
                    "type": "string"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "DatabaseName",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTable.TableReference": {
            "additionalProperties": false,
            "properties": {
                "Glue": {
                    "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference"
                }
            },
            "required": [
                "Glue"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::ConfiguredTableAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConfiguredTableIdentifier": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "MembershipIdentifier": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ConfiguredTableIdentifier",
                        "MembershipIdentifier",
                        "Name",
                        "RoleArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CleanRooms::ConfiguredTableAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CleanRooms::Membership": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CollaborationIdentifier": {
                            "type": "string"
                        },
                        "QueryLogStatus": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "CollaborationIdentifier",
                        "QueryLogStatus"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CleanRooms::Membership"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cloud9::EnvironmentEC2": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::HookDefaultVersion": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::HookDefaultVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::HookTypeConfig": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "type": "string"
                        },
                        "ConfigurationAlias": {
                            "type": "string"
                        },
                        "TypeArn": {
                            "type": "string"
                        },
                        "TypeName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Configuration"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::HookTypeConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::HookVersion": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::HookVersion.LoggingConfig"
                        },
                        "SchemaHandlerPackage": {
                            "type": "string"
                        },
                        "TypeName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "SchemaHandlerPackage",
                        "TypeName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::HookVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::HookVersion.LoggingConfig": {
            "additionalProperties": false,
            "properties": {
                "LogGroupName": {
                    "type": "string"
                },
                "LogRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFormation::Macro": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::PublicTypeVersion": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "LogDeliveryBucket": {
                            "type": "string"
                        },
                        "PublicVersionNumber": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "TypeName": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::PublicTypeVersion"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::Publisher": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AcceptTermsAndConditions": {
                            "type": "boolean"
                        },
                        "ConnectionArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AcceptTermsAndConditions"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::Publisher"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::ResourceDefaultVersion": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ManagedExecution": {
                            "$ref": "#/definitions/AWS::CloudFormation::StackSet.ManagedExecution"
                        },
                        "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": {
                "AccountFilterType": {
                    "type": "string"
                },
                "Accounts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AccountsUrl": {
                    "type": "string"
                },
                "OrganizationalUnitIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CloudFormation::StackSet.ManagedExecution": {
            "additionalProperties": false,
            "properties": {
                "Active": {
                    "type": "boolean"
                }
            },
            "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::TypeActivation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoUpdate": {
                            "type": "boolean"
                        },
                        "ExecutionRoleArn": {
                            "type": "string"
                        },
                        "LoggingConfig": {
                            "$ref": "#/definitions/AWS::CloudFormation::TypeActivation.LoggingConfig"
                        },
                        "MajorVersion": {
                            "type": "string"
                        },
                        "PublicTypeArn": {
                            "type": "string"
                        },
                        "PublisherId": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "TypeName": {
                            "type": "string"
                        },
                        "TypeNameAlias": {
                            "type": "string"
                        },
                        "VersionBump": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFormation::TypeActivation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFormation::TypeActivation.LoggingConfig": {
            "additionalProperties": false,
            "properties": {
                "LogGroupName": {
                    "type": "string"
                },
                "LogRoleArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudFormation::WaitCondition": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::ContinuousDeploymentPolicy": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ContinuousDeploymentPolicyConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig"
                        }
                    },
                    "required": [
                        "ContinuousDeploymentPolicyConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::ContinuousDeploymentPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "StagingDistributionDnsNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "TrafficConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig"
                }
            },
            "required": [
                "Enabled",
                "StagingDistributionDnsNames"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig": {
            "additionalProperties": false,
            "properties": {
                "IdleTTL": {
                    "type": "number"
                },
                "MaximumTTL": {
                    "type": "number"
                }
            },
            "required": [
                "IdleTTL",
                "MaximumTTL"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig": {
            "additionalProperties": false,
            "properties": {
                "Header": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Header",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig": {
            "additionalProperties": false,
            "properties": {
                "SessionStickinessConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "Weight"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig": {
            "additionalProperties": false,
            "properties": {
                "SingleHeaderConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig"
                },
                "SingleWeightConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudFront::Distribution": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "ResponseHeadersPolicyId": {
                    "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"
                },
                "ResponseHeadersPolicyId": {
                    "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"
                },
                "ContinuousDeploymentPolicyId": {
                    "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"
                },
                "Staging": {
                    "type": "boolean"
                },
                "ViewerCertificate": {
                    "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate"
                },
                "WebACLId": {
                    "type": "string"
                }
            },
            "required": [
                "DefaultCacheBehavior",
                "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"
                },
                "OriginAccessControlId": {
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": [
                        "FunctionCode",
                        "FunctionConfig",
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::MonitoringSubscription": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DistributionId": {
                            "type": "string"
                        },
                        "MonitoringSubscription": {
                            "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.MonitoringSubscription"
                        }
                    },
                    "required": [
                        "DistributionId",
                        "MonitoringSubscription"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::MonitoringSubscription"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::MonitoringSubscription.MonitoringSubscription": {
            "additionalProperties": false,
            "properties": {
                "RealtimeMetricsSubscriptionConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig": {
            "additionalProperties": false,
            "properties": {
                "RealtimeMetricsSubscriptionStatus": {
                    "type": "string"
                }
            },
            "required": [
                "RealtimeMetricsSubscriptionStatus"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginAccessControl": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "OriginAccessControlConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig"
                        }
                    },
                    "required": [
                        "OriginAccessControlConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::OriginAccessControl"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "OriginAccessControlOriginType": {
                    "type": "string"
                },
                "SigningBehavior": {
                    "type": "string"
                },
                "SigningProtocol": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "OriginAccessControlOriginType",
                "SigningBehavior",
                "SigningProtocol"
            ],
            "type": "object"
        },
        "AWS::CloudFront::OriginRequestPolicy": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::ResponseHeadersPolicy": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ResponseHeadersPolicyConfig": {
                            "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig"
                        }
                    },
                    "required": [
                        "ResponseHeadersPolicyConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudFront::ResponseHeadersPolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Items"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Items"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Items"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Items"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy": {
            "additionalProperties": false,
            "properties": {
                "ContentSecurityPolicy": {
                    "type": "string"
                },
                "Override": {
                    "type": "boolean"
                }
            },
            "required": [
                "ContentSecurityPolicy",
                "Override"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions": {
            "additionalProperties": false,
            "properties": {
                "Override": {
                    "type": "boolean"
                }
            },
            "required": [
                "Override"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.CorsConfig": {
            "additionalProperties": false,
            "properties": {
                "AccessControlAllowCredentials": {
                    "type": "boolean"
                },
                "AccessControlAllowHeaders": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders"
                },
                "AccessControlAllowMethods": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods"
                },
                "AccessControlAllowOrigins": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins"
                },
                "AccessControlExposeHeaders": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders"
                },
                "AccessControlMaxAgeSec": {
                    "type": "number"
                },
                "OriginOverride": {
                    "type": "boolean"
                }
            },
            "required": [
                "AccessControlAllowCredentials",
                "AccessControlAllowHeaders",
                "AccessControlAllowMethods",
                "AccessControlAllowOrigins",
                "OriginOverride"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.CustomHeader": {
            "additionalProperties": false,
            "properties": {
                "Header": {
                    "type": "string"
                },
                "Override": {
                    "type": "boolean"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Header",
                "Override",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeader"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Items"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.FrameOptions": {
            "additionalProperties": false,
            "properties": {
                "FrameOption": {
                    "type": "string"
                },
                "Override": {
                    "type": "boolean"
                }
            },
            "required": [
                "FrameOption",
                "Override"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy": {
            "additionalProperties": false,
            "properties": {
                "Override": {
                    "type": "boolean"
                },
                "ReferrerPolicy": {
                    "type": "string"
                }
            },
            "required": [
                "Override",
                "ReferrerPolicy"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader": {
            "additionalProperties": false,
            "properties": {
                "Header": {
                    "type": "string"
                }
            },
            "required": [
                "Header"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig": {
            "additionalProperties": false,
            "properties": {
                "Items": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Items"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig": {
            "additionalProperties": false,
            "properties": {
                "Comment": {
                    "type": "string"
                },
                "CorsConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CorsConfig"
                },
                "CustomHeadersConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig"
                },
                "Name": {
                    "type": "string"
                },
                "RemoveHeadersConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig"
                },
                "SecurityHeadersConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig"
                },
                "ServerTimingHeadersConfig": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig": {
            "additionalProperties": false,
            "properties": {
                "ContentSecurityPolicy": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy"
                },
                "ContentTypeOptions": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions"
                },
                "FrameOptions": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.FrameOptions"
                },
                "ReferrerPolicy": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy"
                },
                "StrictTransportSecurity": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity"
                },
                "XSSProtection": {
                    "$ref": "#/definitions/AWS::CloudFront::ResponseHeadersPolicy.XSSProtection"
                }
            },
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "SamplingRate": {
                    "type": "number"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity": {
            "additionalProperties": false,
            "properties": {
                "AccessControlMaxAgeSec": {
                    "type": "number"
                },
                "IncludeSubdomains": {
                    "type": "boolean"
                },
                "Override": {
                    "type": "boolean"
                },
                "Preload": {
                    "type": "boolean"
                }
            },
            "required": [
                "AccessControlMaxAgeSec",
                "Override"
            ],
            "type": "object"
        },
        "AWS::CloudFront::ResponseHeadersPolicy.XSSProtection": {
            "additionalProperties": false,
            "properties": {
                "ModeBlock": {
                    "type": "boolean"
                },
                "Override": {
                    "type": "boolean"
                },
                "Protection": {
                    "type": "boolean"
                },
                "ReportUri": {
                    "type": "string"
                }
            },
            "required": [
                "Override",
                "Protection"
            ],
            "type": "object"
        },
        "AWS::CloudFront::StreamingDistribution": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::Channel": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::CloudTrail::Channel.Destination"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Source": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudTrail::Channel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::Channel.Destination": {
            "additionalProperties": false,
            "properties": {
                "Location": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Location",
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::EventDataStore": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdvancedEventSelectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedEventSelector"
                            },
                            "type": "array"
                        },
                        "IngestionEnabled": {
                            "type": "boolean"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "MultiRegionEnabled": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OrganizationEnabled": {
                            "type": "boolean"
                        },
                        "RetentionPeriod": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TerminationProtectionEnabled": {
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudTrail::EventDataStore"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::EventDataStore.AdvancedEventSelector": {
            "additionalProperties": false,
            "properties": {
                "FieldSelectors": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.AdvancedFieldSelector"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "FieldSelectors"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::EventDataStore.AdvancedFieldSelector": {
            "additionalProperties": false,
            "properties": {
                "EndsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Equals": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Field": {
                    "type": "string"
                },
                "NotEndsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "NotEquals": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "NotStartsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StartsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Field"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::ResourcePolicy": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ResourcePolicy": {
                            "type": "object"
                        }
                    },
                    "required": [
                        "ResourceArn",
                        "ResourcePolicy"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudTrail::ResourcePolicy"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::Trail": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdvancedEventSelectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedEventSelector"
                            },
                            "type": "array"
                        },
                        "CloudWatchLogsLogGroupArn": {
                            "type": "string"
                        },
                        "CloudWatchLogsRoleArn": {
                            "type": "string"
                        },
                        "EnableLogFileValidation": {
                            "type": "boolean"
                        },
                        "EventSelectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector"
                            },
                            "type": "array"
                        },
                        "IncludeGlobalServiceEvents": {
                            "type": "boolean"
                        },
                        "InsightSelectors": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudTrail::Trail.InsightSelector"
                            },
                            "type": "array"
                        },
                        "IsLogging": {
                            "type": "boolean"
                        },
                        "IsMultiRegionTrail": {
                            "type": "boolean"
                        },
                        "IsOrganizationTrail": {
                            "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.AdvancedEventSelector": {
            "additionalProperties": false,
            "properties": {
                "FieldSelectors": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudTrail::Trail.AdvancedFieldSelector"
                    },
                    "type": "array"
                },
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "FieldSelectors"
            ],
            "type": "object"
        },
        "AWS::CloudTrail::Trail.AdvancedFieldSelector": {
            "additionalProperties": false,
            "properties": {
                "EndsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Equals": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Field": {
                    "type": "string"
                },
                "NotEndsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "NotEquals": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "NotStartsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "StartsWith": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Field"
            ],
            "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"
                },
                "ExcludeManagementEventSources": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "IncludeManagementEvents": {
                    "type": "boolean"
                },
                "ReadWriteType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudTrail::Trail.InsightSelector": {
            "additionalProperties": false,
            "properties": {
                "InsightType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudWatch::Alarm": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "AccountId": {
                    "type": "string"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "MetricMathAnomalyDetector": {
                            "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector"
                        },
                        "MetricName": {
                            "type": "string"
                        },
                        "Namespace": {
                            "type": "string"
                        },
                        "SingleMetricAnomalyDetector": {
                            "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector"
                        },
                        "Stat": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CloudWatch::AnomalyDetector"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "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.Metric": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "Namespace"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.MetricDataQueries": {
            "additionalProperties": false,
            "properties": {},
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.MetricDataQuery": {
            "additionalProperties": false,
            "properties": {
                "AccountId": {
                    "type": "string"
                },
                "Expression": {
                    "type": "string"
                },
                "Id": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "MetricStat": {
                    "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricStat"
                },
                "Period": {
                    "type": "number"
                },
                "ReturnData": {
                    "type": "boolean"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.MetricMathAnomalyDetector": {
            "additionalProperties": false,
            "properties": {
                "MetricDataQueries": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.MetricDataQuery"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.MetricStat": {
            "additionalProperties": false,
            "properties": {
                "Metric": {
                    "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Metric"
                },
                "Period": {
                    "type": "number"
                },
                "Stat": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "required": [
                "Metric",
                "Period",
                "Stat"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.Range": {
            "additionalProperties": false,
            "properties": {
                "EndTime": {
                    "type": "string"
                },
                "StartTime": {
                    "type": "string"
                }
            },
            "required": [
                "EndTime",
                "StartTime"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::AnomalyDetector.SingleMetricAnomalyDetector": {
            "additionalProperties": false,
            "properties": {
                "Dimensions": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension"
                    },
                    "type": "array"
                },
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                },
                "Stat": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::CloudWatch::CompositeAlarm": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ActionsSuppressor": {
                            "type": "string"
                        },
                        "ActionsSuppressorExtensionPeriod": {
                            "type": "number"
                        },
                        "ActionsSuppressorWaitPeriod": {
                            "type": "number"
                        },
                        "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": [
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "IncludeLinkedAccountsMetrics": {
                            "type": "boolean"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OutputFormat": {
                            "type": "string"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "StatisticsConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration"
                            },
                            "type": "array"
                        },
                        "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": {
                "MetricNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "Namespace"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::MetricStream.MetricStreamStatisticsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AdditionalStatistics": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "IncludeMetrics": {
                    "items": {
                        "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric"
                    },
                    "type": "array"
                }
            },
            "required": [
                "AdditionalStatistics",
                "IncludeMetrics"
            ],
            "type": "object"
        },
        "AWS::CloudWatch::MetricStream.MetricStreamStatisticsMetric": {
            "additionalProperties": false,
            "properties": {
                "MetricName": {
                    "type": "string"
                },
                "Namespace": {
                    "type": "string"
                }
            },
            "required": [
                "MetricName",
                "Namespace"
            ],
            "type": "object"
        },
        "AWS::CodeArtifact::Domain": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ResourceAccessRole": {
                            "type": "string"
                        },
                        "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"
                        },
                        "Visibility": {
                            "type": "string"
                        },
                        "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": {
                "BatchReportMode": {
                    "type": "string"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ComputePlatform": {
                            "type": "string"
                        },
                        "DeploymentConfigName": {
                            "type": "string"
                        },
                        "MinimumHealthyHosts": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts"
                        },
                        "TrafficRoutingConfig": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig"
                        }
                    },
                    "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::DeploymentConfig.TimeBasedCanary": {
            "additionalProperties": false,
            "properties": {
                "CanaryInterval": {
                    "type": "number"
                },
                "CanaryPercentage": {
                    "type": "number"
                }
            },
            "required": [
                "CanaryInterval",
                "CanaryPercentage"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear": {
            "additionalProperties": false,
            "properties": {
                "LinearInterval": {
                    "type": "number"
                },
                "LinearPercentage": {
                    "type": "number"
                }
            },
            "required": [
                "LinearInterval",
                "LinearPercentage"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentConfig.TrafficRoutingConfig": {
            "additionalProperties": false,
            "properties": {
                "TimeBasedCanary": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedCanary"
                },
                "TimeBasedLinear": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig.TimeBasedLinear"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "BlueGreenDeploymentConfiguration": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueGreenDeploymentConfiguration"
                        },
                        "Deployment": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Deployment"
                        },
                        "DeploymentConfigName": {
                            "type": "string"
                        },
                        "DeploymentGroupName": {
                            "type": "string"
                        },
                        "DeploymentStyle": {
                            "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentStyle"
                        },
                        "ECSServices": {
                            "items": {
                                "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ECSService"
                            },
                            "type": "array"
                        },
                        "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"
                        },
                        "OutdatedInstancesStrategy": {
                            "type": "string"
                        },
                        "ServiceRoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "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.BlueGreenDeploymentConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DeploymentReadyOption": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.DeploymentReadyOption"
                },
                "GreenFleetProvisioningOption": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GreenFleetProvisioningOption"
                },
                "TerminateBlueInstancesOnDeploymentSuccess": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.BlueInstanceTerminationOption": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                },
                "TerminationWaitTimeInMinutes": {
                    "type": "number"
                }
            },
            "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.DeploymentReadyOption": {
            "additionalProperties": false,
            "properties": {
                "ActionOnTimeout": {
                    "type": "string"
                },
                "WaitTimeInMinutes": {
                    "type": "number"
                }
            },
            "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.ECSService": {
            "additionalProperties": false,
            "properties": {
                "ClusterName": {
                    "type": "string"
                },
                "ServiceName": {
                    "type": "string"
                }
            },
            "required": [
                "ClusterName",
                "ServiceName"
            ],
            "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.GreenFleetProvisioningOption": {
            "additionalProperties": false,
            "properties": {
                "Action": {
                    "type": "string"
                }
            },
            "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"
                },
                "TargetGroupPairInfoList": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupPairInfo"
                    },
                    "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.TargetGroupPairInfo": {
            "additionalProperties": false,
            "properties": {
                "ProdTrafficRoute": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute"
                },
                "TargetGroups": {
                    "items": {
                        "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo"
                    },
                    "type": "array"
                },
                "TestTrafficRoute": {
                    "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TrafficRoute"
                }
            },
            "type": "object"
        },
        "AWS::CodeDeploy::DeploymentGroup.TrafficRoute": {
            "additionalProperties": false,
            "properties": {
                "ListenerArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.AgentPermissions"
                        },
                        "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.AgentPermissions": {
            "additionalProperties": false,
            "properties": {
                "Principals": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Principals"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CreatedBy": {
                            "type": "string"
                        },
                        "DetailType": {
                            "type": "string"
                        },
                        "EventTypeId": {
                            "type": "string"
                        },
                        "EventTypeIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Resource": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "additionalProperties": true,
                            "patternProperties": {
                                "^[a-zA-Z0-9]+$": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "TargetAddress": {
                            "type": "string"
                        },
                        "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"
                }
            },
            "required": [
                "TargetAddress",
                "TargetType"
            ],
            "type": "object"
        },
        "AWS::Cognito::IdentityPool": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::IdentityPoolPrincipalTag": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "IdentityProviderName": {
                            "type": "string"
                        },
                        "PrincipalTags": {
                            "type": "object"
                        },
                        "UseDefaults": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "IdentityPoolId",
                        "IdentityProviderName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Cognito::IdentityPoolPrincipalTag"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Cognito::IdentityPoolRoleAttachment": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DeletionProtection": {
                            "type": "string"
                        },
                        "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"
                        },
                        "UserAttributeUpdateSettings": {
                            "$ref": "#/definitions/AWS::Cognito::UserPool.UserAttributeUpdateSettings"
                        },
                        "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"
                },
                "SnsRegion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.StringAttributeConstraints": {
            "additionalProperties": false,
            "properties": {
                "MaxLength": {
                    "type": "string"
                },
                "MinLength": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Cognito::UserPool.UserAttributeUpdateSettings": {
            "additionalProperties": false,
            "properties": {
                "AttributesRequireVerificationBeforeUpdate": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "AttributesRequireVerificationBeforeUpdate"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "AuthSessionValidity": {
                            "type": "number"
                        },
                        "CallbackURLs": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ClientName": {
                            "type": "string"
                        },
                        "DefaultRedirectURI": {
                            "type": "string"
                        },
                        "EnablePropagateAdditionalUserContextData": {
                            "type": "boolean"
                        },
                        "EnableTokenRevocation": {
                            "type": "boolean"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::Comprehend::DocumentClassifier": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataAccessRoleArn": {
                            "type": "string"
                        },
                        "DocumentClassifierName": {
                            "type": "string"
                        },
                        "InputDataConfig": {
                            "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig"
                        },
                        "LanguageCode": {
                            "type": "string"
                        },
                        "Mode": {
                            "type": "string"
                        },
                        "ModelKmsKeyId": {
                            "type": "string"
                        },
                        "ModelPolicy": {
                            "type": "string"
                        },
                        "OutputDataConfig": {
                            "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VersionName": {
                            "type": "string"
                        },
                        "VolumeKmsKeyId": {
                            "type": "string"
                        },
                        "VpcConfig": {
                            "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.VpcConfig"
                        }
                    },
                    "required": [
                        "DataAccessRoleArn",
                        "DocumentClassifierName",
                        "InputDataConfig",
                        "LanguageCode"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Comprehend::DocumentClassifier"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem": {
            "additionalProperties": false,
            "properties": {
                "AttributeNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "S3Uri": {
                    "type": "string"
                },
                "Split": {
                    "type": "string"
                }
            },
            "required": [
                "AttributeNames",
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments": {
            "additionalProperties": false,
            "properties": {
                "S3Uri": {
                    "type": "string"
                },
                "TestS3Uri": {
                    "type": "string"
                }
            },
            "required": [
                "S3Uri"
            ],
            "type": "object"
        },
        "AWS::Comprehend::DocumentClassifier.DocumentClassifierInputDataConfig": {
            "additionalProperties": false,
            "properties": {
                "AugmentedManifests": {
                    "items": {
                        "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.AugmentedManifestsListItem"
                    },
                    "type": "array"
                },
                "DataFormat": {
                    "type": "string"
                },
                "DocumentReaderConfig": {
                    "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentReaderConfig"
                },
                "DocumentType": {
                    "type": "string"
                },
                "Documents": {
                    "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier.DocumentClassifierDocuments"
                },
                "LabelDelimiter": {
                    "type": "string"
                },
                "S3Uri": {
                    "type": "string"
                },
                "TestS3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Comprehend::DocumentClassifier.DocumentClassifierOutputDataConfig": {
            "additionalProperties": false,
            "properties": {
                "KmsKeyId": {
                    "type": "string"
                },
                "S3Uri": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Comprehend::DocumentClassifier.DocumentReaderConfig": {
            "additionalProperties": false,
            "properties": {
                "DocumentReadAction": {
                    "type": "string"
                },
                "DocumentReadMode": {
                    "type": "string"
                },
                "FeatureTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "DocumentReadAction"
            ],
            "type": "object"
        },
        "AWS::Comprehend::DocumentClassifier.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::Comprehend::Flywheel": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ActiveModelArn": {
                            "type": "string"
                        },
                        "DataAccessRoleArn": {
                            "type": "string"
                        },
                        "DataLakeS3Uri": {
                            "type": "string"
                        },
                        "DataSecurityConfig": {
                            "$ref": "#/definitions/AWS::Comprehend::Flywheel.DataSecurityConfig"
                        },
                        "FlywheelName": {
                            "type": "string"
                        },
                        "ModelType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TaskConfig": {
                            "$ref": "#/definitions/AWS::Comprehend::Flywheel.TaskConfig"
                        }
                    },
                    "required": [
                        "DataAccessRoleArn",
                        "DataLakeS3Uri",
                        "FlywheelName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Comprehend::Flywheel"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Comprehend::Flywheel.DataSecurityConfig": {
            "additionalProperties": false,
            "properties": {
                "DataLakeKmsKeyId": {
                    "type": "string"
                },
                "ModelKmsKeyId": {
                    "type": "string"
                },
                "VolumeKmsKeyId": {
                    "type": "string"
                },
                "VpcConfig": {
                    "$ref": "#/definitions/AWS::Comprehend::Flywheel.VpcConfig"
                }
            },
            "type": "object"
        },
        "AWS::Comprehend::Flywheel.DocumentClassificationConfig": {
            "additionalProperties": false,
            "properties": {
                "Labels": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Mode": {
                    "type": "string"
                }
            },
            "required": [
                "Mode"
            ],
            "type": "object"
        },
        "AWS::Comprehend::Flywheel.EntityRecognitionConfig": {
            "additionalProperties": false,
            "properties": {
                "EntityTypes": {
                    "items": {
                        "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityTypesListItem"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Comprehend::Flywheel.EntityTypesListItem": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::Comprehend::Flywheel.TaskConfig": {
            "additionalProperties": false,
            "properties": {
                "DocumentClassificationConfig": {
                    "$ref": "#/definitions/AWS::Comprehend::Flywheel.DocumentClassificationConfig"
                },
                "EntityRecognitionConfig": {
                    "$ref": "#/definitions/AWS::Comprehend::Flywheel.EntityRecognitionConfig"
                },
                "LanguageCode": {
                    "type": "string"
                }
            },
            "required": [
                "LanguageCode"
            ],
            "type": "object"
        },
        "AWS::Comprehend::Flywheel.VpcConfig": {
            "additionalProperties": false,
            "properties": {
                "SecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Subnets": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "SecurityGroupIds",
                "Subnets"
            ],
            "type": "object"
        },
        "AWS::Config::AggregationAuthorization": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Compliance": {
                            "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance"
                        },
                        "ConfigRuleName": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "EvaluationModes": {
                            "items": {
                                "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration"
                            },
                            "type": "array"
                        },
                        "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.Compliance": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Config::ConfigRule.CustomPolicyDetails": {
            "additionalProperties": false,
            "properties": {
                "EnableDebugLogDelivery": {
                    "type": "boolean"
                },
                "PolicyRuntime": {
                    "type": "string"
                },
                "PolicyText": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Config::ConfigRule.EvaluationModeConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Mode": {
                    "type": "string"
                }
            },
            "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": {
                "CustomPolicyDetails": {
                    "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails"
                },
                "Owner": {
                    "type": "string"
                },
                "SourceDetails": {
                    "items": {
                        "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail"
                    },
                    "type": "array"
                },
                "SourceIdentifier": {
                    "type": "string"
                }
            },
            "required": [
                "Owner"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.ExclusionByResourceTypes": {
            "additionalProperties": false,
            "properties": {
                "ResourceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "ResourceTypes"
            ],
            "type": "object"
        },
        "AWS::Config::ConfigurationRecorder.RecordingGroup": {
            "additionalProperties": false,
            "properties": {
                "AllSupported": {
                    "type": "boolean"
                },
                "ExclusionByResourceTypes": {
                    "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.ExclusionByResourceTypes"
                },
                "IncludeGlobalResourceTypes": {
                    "type": "boolean"
                },
                "RecordingStrategy": {
                    "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingStrategy"
                },
                "ResourceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Config::ConfigurationRecorder.RecordingStrategy": {
            "additionalProperties": false,
            "properties": {
                "UseOnly": {
                    "type": "string"
                }
            },
            "required": [
                "UseOnly"
            ],
            "type": "object"
        },
        "AWS::Config::ConformancePack": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "TemplateSSMDocumentDetails": {
                            "$ref": "#/definitions/AWS::Config::ConformancePack.TemplateSSMDocumentDetails"
                        }
                    },
                    "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::ConformancePack.TemplateSSMDocumentDetails": {
            "additionalProperties": false,
            "properties": {
                "DocumentName": {
                    "type": "string"
                },
                "DocumentVersion": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Config::DeliveryChannel": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "OrganizationCustomPolicyRuleMetadata": {
                            "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomPolicyRuleMetadata"
                        },
                        "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.OrganizationCustomPolicyRuleMetadata": {
            "additionalProperties": false,
            "properties": {
                "DebugLogDeliveryAccounts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Description": {
                    "type": "string"
                },
                "InputParameters": {
                    "type": "string"
                },
                "MaximumExecutionFrequency": {
                    "type": "string"
                },
                "OrganizationConfigRuleTriggerTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "PolicyText": {
                    "type": "string"
                },
                "ResourceIdScope": {
                    "type": "string"
                },
                "ResourceTypesScope": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Runtime": {
                    "type": "string"
                },
                "TagKeyScope": {
                    "type": "string"
                },
                "TagValueScope": {
                    "type": "string"
                }
            },
            "required": [
                "PolicyText",
                "Runtime"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::Connect::ApprovedOrigin": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InstanceId": {
                            "type": "string"
                        },
                        "Origin": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceId",
                        "Origin"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::ApprovedOrigin"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::ContactFlow": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Content",
                        "InstanceArn",
                        "Name",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::ContactFlow"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::ContactFlowModule": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "State": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Content",
                        "InstanceArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::ContactFlowModule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Items": {
                            "items": {
                                "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormBaseItem"
                            },
                            "type": "array"
                        },
                        "ScoringStrategy": {
                            "$ref": "#/definitions/AWS::Connect::EvaluationForm.ScoringStrategy"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Title": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "Items",
                        "Status",
                        "Title"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::EvaluationForm"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormBaseItem": {
            "additionalProperties": false,
            "properties": {
                "Section": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection"
                }
            },
            "required": [
                "Section"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormItem": {
            "additionalProperties": false,
            "properties": {
                "Question": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestion"
                },
                "Section": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSection"
                }
            },
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation": {
            "additionalProperties": false,
            "properties": {
                "PropertyValue": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation"
                }
            },
            "required": [
                "PropertyValue"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption": {
            "additionalProperties": false,
            "properties": {
                "AutomaticFail": {
                    "type": "boolean"
                },
                "MaxValue": {
                    "type": "number"
                },
                "MinValue": {
                    "type": "number"
                },
                "Score": {
                    "type": "number"
                }
            },
            "required": [
                "MaxValue",
                "MinValue"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties": {
            "additionalProperties": false,
            "properties": {
                "Automation": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionAutomation"
                },
                "MaxValue": {
                    "type": "number"
                },
                "MinValue": {
                    "type": "number"
                },
                "Options": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionOption"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MaxValue",
                "MinValue"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormQuestion": {
            "additionalProperties": false,
            "properties": {
                "Instructions": {
                    "type": "string"
                },
                "NotApplicableEnabled": {
                    "type": "boolean"
                },
                "QuestionType": {
                    "type": "string"
                },
                "QuestionTypeProperties": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties"
                },
                "RefId": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "QuestionType",
                "RefId",
                "Title"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties": {
            "additionalProperties": false,
            "properties": {
                "Numeric": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormNumericQuestionProperties"
                },
                "SingleSelect": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties"
                }
            },
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormSection": {
            "additionalProperties": false,
            "properties": {
                "Instructions": {
                    "type": "string"
                },
                "Items": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItem"
                    },
                    "type": "array"
                },
                "RefId": {
                    "type": "string"
                },
                "Title": {
                    "type": "string"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "required": [
                "RefId",
                "Title"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation": {
            "additionalProperties": false,
            "properties": {
                "DefaultOptionRefId": {
                    "type": "string"
                },
                "Options": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Options"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption": {
            "additionalProperties": false,
            "properties": {
                "RuleCategory": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation"
                }
            },
            "required": [
                "RuleCategory"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption": {
            "additionalProperties": false,
            "properties": {
                "AutomaticFail": {
                    "type": "boolean"
                },
                "RefId": {
                    "type": "string"
                },
                "Score": {
                    "type": "number"
                },
                "Text": {
                    "type": "string"
                }
            },
            "required": [
                "RefId",
                "Text"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionProperties": {
            "additionalProperties": false,
            "properties": {
                "Automation": {
                    "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomation"
                },
                "DisplayAs": {
                    "type": "string"
                },
                "Options": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionOption"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Options"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.NumericQuestionPropertyValueAutomation": {
            "additionalProperties": false,
            "properties": {
                "Label": {
                    "type": "string"
                }
            },
            "required": [
                "Label"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.ScoringStrategy": {
            "additionalProperties": false,
            "properties": {
                "Mode": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                }
            },
            "required": [
                "Mode",
                "Status"
            ],
            "type": "object"
        },
        "AWS::Connect::EvaluationForm.SingleSelectQuestionRuleCategoryAutomation": {
            "additionalProperties": false,
            "properties": {
                "Category": {
                    "type": "string"
                },
                "Condition": {
                    "type": "string"
                },
                "OptionRefId": {
                    "type": "string"
                }
            },
            "required": [
                "Category",
                "Condition",
                "OptionRefId"
            ],
            "type": "object"
        },
        "AWS::Connect::HoursOfOperation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "items": {
                                "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationConfig"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TimeZone": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Config",
                        "InstanceArn",
                        "Name",
                        "TimeZone"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::HoursOfOperation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::HoursOfOperation.HoursOfOperationConfig": {
            "additionalProperties": false,
            "properties": {
                "Day": {
                    "type": "string"
                },
                "EndTime": {
                    "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice"
                },
                "StartTime": {
                    "$ref": "#/definitions/AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice"
                }
            },
            "required": [
                "Day",
                "EndTime",
                "StartTime"
            ],
            "type": "object"
        },
        "AWS::Connect::HoursOfOperation.HoursOfOperationTimeSlice": {
            "additionalProperties": false,
            "properties": {
                "Hours": {
                    "type": "number"
                },
                "Minutes": {
                    "type": "number"
                }
            },
            "required": [
                "Hours",
                "Minutes"
            ],
            "type": "object"
        },
        "AWS::Connect::Instance": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "$ref": "#/definitions/AWS::Connect::Instance.Attributes"
                        },
                        "DirectoryId": {
                            "type": "string"
                        },
                        "IdentityManagementType": {
                            "type": "string"
                        },
                        "InstanceAlias": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Attributes",
                        "IdentityManagementType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::Instance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::Instance.Attributes": {
            "additionalProperties": false,
            "properties": {
                "AutoResolveBestVoices": {
                    "type": "boolean"
                },
                "ContactLens": {
                    "type": "boolean"
                },
                "ContactflowLogs": {
                    "type": "boolean"
                },
                "EarlyMedia": {
                    "type": "boolean"
                },
                "InboundCalls": {
                    "type": "boolean"
                },
                "OutboundCalls": {
                    "type": "boolean"
                },
                "UseCustomTTSVoices": {
                    "type": "boolean"
                }
            },
            "required": [
                "InboundCalls",
                "OutboundCalls"
            ],
            "type": "object"
        },
        "AWS::Connect::InstanceStorageConfig": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "KinesisFirehoseConfig": {
                            "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig"
                        },
                        "KinesisStreamConfig": {
                            "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisStreamConfig"
                        },
                        "KinesisVideoStreamConfig": {
                            "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig"
                        },
                        "ResourceType": {
                            "type": "string"
                        },
                        "S3Config": {
                            "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.S3Config"
                        },
                        "StorageType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "ResourceType",
                        "StorageType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::InstanceStorageConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::InstanceStorageConfig.EncryptionConfig": {
            "additionalProperties": false,
            "properties": {
                "EncryptionType": {
                    "type": "string"
                },
                "KeyId": {
                    "type": "string"
                }
            },
            "required": [
                "EncryptionType",
                "KeyId"
            ],
            "type": "object"
        },
        "AWS::Connect::InstanceStorageConfig.KinesisFirehoseConfig": {
            "additionalProperties": false,
            "properties": {
                "FirehoseArn": {
                    "type": "string"
                }
            },
            "required": [
                "FirehoseArn"
            ],
            "type": "object"
        },
        "AWS::Connect::InstanceStorageConfig.KinesisStreamConfig": {
            "additionalProperties": false,
            "properties": {
                "StreamArn": {
                    "type": "string"
                }
            },
            "required": [
                "StreamArn"
            ],
            "type": "object"
        },
        "AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig": {
            "additionalProperties": false,
            "properties": {
                "EncryptionConfig": {
                    "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig"
                },
                "Prefix": {
                    "type": "string"
                },
                "RetentionPeriodHours": {
                    "type": "number"
                }
            },
            "required": [
                "Prefix",
                "RetentionPeriodHours"
            ],
            "type": "object"
        },
        "AWS::Connect::InstanceStorageConfig.S3Config": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketPrefix": {
                    "type": "string"
                },
                "EncryptionConfig": {
                    "$ref": "#/definitions/AWS::Connect::InstanceStorageConfig.EncryptionConfig"
                }
            },
            "required": [
                "BucketName",
                "BucketPrefix"
            ],
            "type": "object"
        },
        "AWS::Connect::IntegrationAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InstanceId": {
                            "type": "string"
                        },
                        "IntegrationArn": {
                            "type": "string"
                        },
                        "IntegrationType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceId",
                        "IntegrationArn",
                        "IntegrationType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::IntegrationAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::PhoneNumber": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "CountryCode": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Prefix": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetArn": {
                            "type": "string"
                        },
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "CountryCode",
                        "TargetArn",
                        "Type"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::PhoneNumber"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::Prompt": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "S3Uri": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::Prompt"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::Queue": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "HoursOfOperationArn": {
                            "type": "string"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "MaxContacts": {
                            "type": "number"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OutboundCallerConfig": {
                            "$ref": "#/definitions/AWS::Connect::Queue.OutboundCallerConfig"
                        },
                        "QuickConnectArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "HoursOfOperationArn",
                        "InstanceArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::Queue"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::Queue.OutboundCallerConfig": {
            "additionalProperties": false,
            "properties": {
                "OutboundCallerIdName": {
                    "type": "string"
                },
                "OutboundCallerIdNumberArn": {
                    "type": "string"
                },
                "OutboundFlowArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Connect::QuickConnect": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "QuickConnectConfig": {
                            "$ref": "#/definitions/AWS::Connect::QuickConnect.QuickConnectConfig"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "Name",
                        "QuickConnectConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::QuickConnect"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig": {
            "additionalProperties": false,
            "properties": {
                "PhoneNumber": {
                    "type": "string"
                }
            },
            "required": [
                "PhoneNumber"
            ],
            "type": "object"
        },
        "AWS::Connect::QuickConnect.QueueQuickConnectConfig": {
            "additionalProperties": false,
            "properties": {
                "ContactFlowArn": {
                    "type": "string"
                },
                "QueueArn": {
                    "type": "string"
                }
            },
            "required": [
                "ContactFlowArn",
                "QueueArn"
            ],
            "type": "object"
        },
        "AWS::Connect::QuickConnect.QuickConnectConfig": {
            "additionalProperties": false,
            "properties": {
                "PhoneConfig": {
                    "$ref": "#/definitions/AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig"
                },
                "QueueConfig": {
                    "$ref": "#/definitions/AWS::Connect::QuickConnect.QueueQuickConnectConfig"
                },
                "QuickConnectType": {
                    "type": "string"
                },
                "UserConfig": {
                    "$ref": "#/definitions/AWS::Connect::QuickConnect.UserQuickConnectConfig"
                }
            },
            "required": [
                "QuickConnectType"
            ],
            "type": "object"
        },
        "AWS::Connect::QuickConnect.UserQuickConnectConfig": {
            "additionalProperties": false,
            "properties": {
                "ContactFlowArn": {
                    "type": "string"
                },
                "UserArn": {
                    "type": "string"
                }
            },
            "required": [
                "ContactFlowArn",
                "UserArn"
            ],
            "type": "object"
        },
        "AWS::Connect::RoutingProfile": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultOutboundQueueArn": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "MediaConcurrencies": {
                            "items": {
                                "$ref": "#/definitions/AWS::Connect::RoutingProfile.MediaConcurrency"
                            },
                            "type": "array"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "QueueConfigs": {
                            "items": {
                                "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueConfig"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "DefaultOutboundQueueArn",
                        "Description",
                        "InstanceArn",
                        "MediaConcurrencies",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::RoutingProfile"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::RoutingProfile.CrossChannelBehavior": {
            "additionalProperties": false,
            "properties": {
                "BehaviorType": {
                    "type": "string"
                }
            },
            "required": [
                "BehaviorType"
            ],
            "type": "object"
        },
        "AWS::Connect::RoutingProfile.MediaConcurrency": {
            "additionalProperties": false,
            "properties": {
                "Channel": {
                    "type": "string"
                },
                "Concurrency": {
                    "type": "number"
                },
                "CrossChannelBehavior": {
                    "$ref": "#/definitions/AWS::Connect::RoutingProfile.CrossChannelBehavior"
                }
            },
            "required": [
                "Channel",
                "Concurrency"
            ],
            "type": "object"
        },
        "AWS::Connect::RoutingProfile.RoutingProfileQueueConfig": {
            "additionalProperties": false,
            "properties": {
                "Delay": {
                    "type": "number"
                },
                "Priority": {
                    "type": "number"
                },
                "QueueReference": {
                    "$ref": "#/definitions/AWS::Connect::RoutingProfile.RoutingProfileQueueReference"
                }
            },
            "required": [
                "Delay",
                "Priority",
                "QueueReference"
            ],
            "type": "object"
        },
        "AWS::Connect::RoutingProfile.RoutingProfileQueueReference": {
            "additionalProperties": false,
            "properties": {
                "Channel": {
                    "type": "string"
                },
                "QueueArn": {
                    "type": "string"
                }
            },
            "required": [
                "Channel",
                "QueueArn"
            ],
            "type": "object"
        },
        "AWS::Connect::Rule": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "$ref": "#/definitions/AWS::Connect::Rule.Actions"
                        },
                        "Function": {
                            "type": "string"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "PublishStatus": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TriggerEventSource": {
                            "$ref": "#/definitions/AWS::Connect::Rule.RuleTriggerEventSource"
                        }
                    },
                    "required": [
                        "Actions",
                        "Function",
                        "InstanceArn",
                        "Name",
                        "PublishStatus",
                        "TriggerEventSource"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::Rule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::Rule.Actions": {
            "additionalProperties": false,
            "properties": {
                "AssignContactCategoryActions": {
                    "items": {
                        "type": "object"
                    },
                    "type": "array"
                },
                "EventBridgeActions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::Rule.EventBridgeAction"
                    },
                    "type": "array"
                },
                "SendNotificationActions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::Rule.SendNotificationAction"
                    },
                    "type": "array"
                },
                "TaskActions": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::Rule.TaskAction"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Connect::Rule.EventBridgeAction": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::Connect::Rule.NotificationRecipientType": {
            "additionalProperties": false,
            "properties": {
                "UserArns": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "UserTags": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "AWS::Connect::Rule.Reference": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Value"
            ],
            "type": "object"
        },
        "AWS::Connect::Rule.RuleTriggerEventSource": {
            "additionalProperties": false,
            "properties": {
                "EventSourceName": {
                    "type": "string"
                },
                "IntegrationAssociationArn": {
                    "type": "string"
                }
            },
            "required": [
                "EventSourceName"
            ],
            "type": "object"
        },
        "AWS::Connect::Rule.SendNotificationAction": {
            "additionalProperties": false,
            "properties": {
                "Content": {
                    "type": "string"
                },
                "ContentType": {
                    "type": "string"
                },
                "DeliveryMethod": {
                    "type": "string"
                },
                "Recipient": {
                    "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType"
                },
                "Subject": {
                    "type": "string"
                }
            },
            "required": [
                "Content",
                "ContentType",
                "DeliveryMethod",
                "Recipient"
            ],
            "type": "object"
        },
        "AWS::Connect::Rule.TaskAction": {
            "additionalProperties": false,
            "properties": {
                "ContactFlowArn": {
                    "type": "string"
                },
                "Description": {
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "References": {
                    "additionalProperties": false,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "$ref": "#/definitions/AWS::Connect::Rule.Reference"
                        }
                    },
                    "type": "object"
                }
            },
            "required": [
                "ContactFlowArn",
                "Name"
            ],
            "type": "object"
        },
        "AWS::Connect::SecurityKey": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "InstanceId": {
                            "type": "string"
                        },
                        "Key": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceId",
                        "Key"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::SecurityKey"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::TaskTemplate": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClientToken": {
                            "type": "string"
                        },
                        "Constraints": {
                            "$ref": "#/definitions/AWS::Connect::TaskTemplate.Constraints"
                        },
                        "ContactFlowArn": {
                            "type": "string"
                        },
                        "Defaults": {
                            "items": {
                                "$ref": "#/definitions/AWS::Connect::TaskTemplate.DefaultFieldValue"
                            },
                            "type": "array"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "Fields": {
                            "items": {
                                "$ref": "#/definitions/AWS::Connect::TaskTemplate.Field"
                            },
                            "type": "array"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Status": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::TaskTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::TaskTemplate.Constraints": {
            "additionalProperties": false,
            "properties": {
                "InvisibleFields": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::TaskTemplate.InvisibleFieldInfo"
                    },
                    "type": "array"
                },
                "ReadOnlyFields": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::TaskTemplate.ReadOnlyFieldInfo"
                    },
                    "type": "array"
                },
                "RequiredFields": {
                    "items": {
                        "$ref": "#/definitions/AWS::Connect::TaskTemplate.RequiredFieldInfo"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::Connect::TaskTemplate.DefaultFieldValue": {
            "additionalProperties": false,
            "properties": {
                "DefaultValue": {
                    "type": "string"
                },
                "Id": {
                    "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier"
                }
            },
            "required": [
                "DefaultValue",
                "Id"
            ],
            "type": "object"
        },
        "AWS::Connect::TaskTemplate.Field": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "Id": {
                    "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier"
                },
                "SingleSelectOptions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Type": {
                    "type": "string"
                }
            },
            "required": [
                "Id",
                "Type"
            ],
            "type": "object"
        },
        "AWS::Connect::TaskTemplate.FieldIdentifier": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::Connect::TaskTemplate.InvisibleFieldInfo": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::Connect::TaskTemplate.ReadOnlyFieldInfo": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::Connect::TaskTemplate.RequiredFieldInfo": {
            "additionalProperties": false,
            "properties": {
                "Id": {
                    "$ref": "#/definitions/AWS::Connect::TaskTemplate.FieldIdentifier"
                }
            },
            "required": [
                "Id"
            ],
            "type": "object"
        },
        "AWS::Connect::TrafficDistributionGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::TrafficDistributionGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::User": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DirectoryUserId": {
                            "type": "string"
                        },
                        "HierarchyGroupArn": {
                            "type": "string"
                        },
                        "IdentityInfo": {
                            "$ref": "#/definitions/AWS::Connect::User.UserIdentityInfo"
                        },
                        "InstanceArn": {
                            "type": "string"
                        },
                        "Password": {
                            "type": "string"
                        },
                        "PhoneConfig": {
                            "$ref": "#/definitions/AWS::Connect::User.UserPhoneConfig"
                        },
                        "RoutingProfileArn": {
                            "type": "string"
                        },
                        "SecurityProfileArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Username": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "PhoneConfig",
                        "RoutingProfileArn",
                        "SecurityProfileArns",
                        "Username"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::User"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::Connect::User.UserIdentityInfo": {
            "additionalProperties": false,
            "properties": {
                "Email": {
                    "type": "string"
                },
                "FirstName": {
                    "type": "string"
                },
                "LastName": {
                    "type": "string"
                },
                "Mobile": {
                    "type": "string"
                },
                "SecondaryEmail": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::Connect::User.UserPhoneConfig": {
            "additionalProperties": false,
            "properties": {
                "AfterContactWorkTimeLimit": {
                    "type": "number"
                },
                "AutoAccept": {
                    "type": "boolean"
                },
                "DeskPhoneNumber": {
                    "type": "string"
                },
                "PhoneType": {
                    "type": "string"
                }
            },
            "required": [
                "PhoneType"
            ],
            "type": "object"
        },
        "AWS::Connect::UserHierarchyGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ParentGroupArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "InstanceArn",
                        "Name"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Connect::UserHierarchyGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ConnectCampaigns::Campaign": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ConnectInstanceArn": {
                            "type": "string"
                        },
                        "DialerConfig": {
                            "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.DialerConfig"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "OutboundCallConfig": {
                            "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.OutboundCallConfig"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "ConnectInstanceArn",
                        "DialerConfig",
                        "Name",
                        "OutboundCallConfig"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ConnectCampaigns::Campaign"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig": {
            "additionalProperties": false,
            "properties": {
                "EnableAnswerMachineDetection": {
                    "type": "boolean"
                }
            },
            "required": [
                "EnableAnswerMachineDetection"
            ],
            "type": "object"
        },
        "AWS::ConnectCampaigns::Campaign.DialerConfig": {
            "additionalProperties": false,
            "properties": {
                "PredictiveDialerConfig": {
                    "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig"
                },
                "ProgressiveDialerConfig": {
                    "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig"
                }
            },
            "type": "object"
        },
        "AWS::ConnectCampaigns::Campaign.OutboundCallConfig": {
            "additionalProperties": false,
            "properties": {
                "AnswerMachineDetectionConfig": {
                    "$ref": "#/definitions/AWS::ConnectCampaigns::Campaign.AnswerMachineDetectionConfig"
                },
                "ConnectContactFlowArn": {
                    "type": "string"
                },
                "ConnectQueueArn": {
                    "type": "string"
                },
                "ConnectSourcePhoneNumber": {
                    "type": "string"
                }
            },
            "required": [
                "ConnectContactFlowArn",
                "ConnectQueueArn"
            ],
            "type": "object"
        },
        "AWS::ConnectCampaigns::Campaign.PredictiveDialerConfig": {
            "additionalProperties": false,
            "properties": {
                "BandwidthAllocation": {
                    "type": "number"
                }
            },
            "required": [
                "BandwidthAllocation"
            ],
            "type": "object"
        },
        "AWS::ConnectCampaigns::Campaign.ProgressiveDialerConfig": {
            "additionalProperties": false,
            "properties": {
                "BandwidthAllocation": {
                    "type": "number"
                }
            },
            "required": [
                "BandwidthAllocation"
            ],
            "type": "object"
        },
        "AWS::ControlTower::EnabledControl": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ControlIdentifier": {
                            "type": "string"
                        },
                        "TargetIdentifier": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ControlIdentifier",
                        "TargetIdentifier"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ControlTower::EnabledControl"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::CalculatedAttributeDefinition": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AttributeDetails": {
                            "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails"
                        },
                        "CalculatedAttributeName": {
                            "type": "string"
                        },
                        "Conditions": {
                            "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DisplayName": {
                            "type": "string"
                        },
                        "DomainName": {
                            "type": "string"
                        },
                        "Statistic": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AttributeDetails",
                        "CalculatedAttributeName",
                        "DomainName",
                        "Statistic"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CustomerProfiles::CalculatedAttributeDefinition"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": {
            "additionalProperties": false,
            "properties": {
                "Attributes": {
                    "items": {
                        "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem"
                    },
                    "type": "array"
                },
                "Expression": {
                    "type": "string"
                }
            },
            "required": [
                "Attributes",
                "Expression"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": {
            "additionalProperties": false,
            "properties": {
                "ObjectCount": {
                    "type": "number"
                },
                "Range": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range"
                },
                "Threshold": {
                    "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold"
                }
            },
            "type": "object"
        },
        "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": {
            "additionalProperties": false,
            "properties": {
                "Unit": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Unit",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": {
            "additionalProperties": false,
            "properties": {
                "Operator": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Operator",
                "Value"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Domain": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::EventStream": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "EventStreamName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Uri": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DomainName",
                        "EventStreamName",
                        "Uri"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::CustomerProfiles::EventStream"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::EventStream.DestinationDetails": {
            "additionalProperties": false,
            "properties": {
                "Status": {
                    "type": "string"
                },
                "Uri": {
                    "type": "string"
                }
            },
            "required": [
                "Status",
                "Uri"
            ],
            "type": "object"
        },
        "AWS::CustomerProfiles::Integration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ObjectTypeNames": {
                            "items": {
                                "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ObjectTypeMapping"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Uri": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DomainName"
                    ],
                    "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.ObjectTypeMapping": {
            "additionalProperties": false,
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "required": [
                "Key",
                "Value"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.ArchiveRetainRule": {
            "additionalProperties": false,
            "properties": {
                "RetentionArchiveTier": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.RetentionArchiveTier"
                }
            },
            "required": [
                "RetentionArchiveTier"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.ArchiveRule": {
            "additionalProperties": false,
            "properties": {
                "RetainRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRetainRule"
                }
            },
            "required": [
                "RetainRule"
            ],
            "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.CrossRegionCopyDeprecateRule": {
            "additionalProperties": false,
            "properties": {
                "Interval": {
                    "type": "number"
                },
                "IntervalUnit": {
                    "type": "string"
                }
            },
            "required": [
                "Interval",
                "IntervalUnit"
            ],
            "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"
                },
                "DeprecateRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule"
                },
                "Encrypted": {
                    "type": "boolean"
                },
                "RetainRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule"
                },
                "Target": {
                    "type": "string"
                },
                "TargetRegion": {
                    "type": "string"
                }
            },
            "required": [
                "Encrypted"
            ],
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.DeprecateRule": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "number"
                },
                "Interval": {
                    "type": "number"
                },
                "IntervalUnit": {
                    "type": "string"
                }
            },
            "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"
                },
                "ExcludeDataVolumeTags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                },
                "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.RetentionArchiveTier": {
            "additionalProperties": false,
            "properties": {
                "Count": {
                    "type": "number"
                },
                "Interval": {
                    "type": "number"
                },
                "IntervalUnit": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DLM::LifecyclePolicy.Schedule": {
            "additionalProperties": false,
            "properties": {
                "ArchiveRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ArchiveRule"
                },
                "CopyTags": {
                    "type": "boolean"
                },
                "CreateRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule"
                },
                "CrossRegionCopyRules": {
                    "items": {
                        "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule"
                    },
                    "type": "array"
                },
                "DeprecateRule": {
                    "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "GcpMySQLSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.GcpMySQLSettings"
                        },
                        "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"
                        },
                        "RedisSettings": {
                            "$ref": "#/definitions/AWS::DMS::Endpoint.RedisSettings"
                        },
                        "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": {
                "DocsToInvestigate": {
                    "type": "number"
                },
                "ExtractDocId": {
                    "type": "boolean"
                },
                "NestingLevel": {
                    "type": "string"
                },
                "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.GcpMySQLSettings": {
            "additionalProperties": false,
            "properties": {
                "AfterConnectScript": {
                    "type": "string"
                },
                "CleanSourceMetadataOnMismatch": {
                    "type": "boolean"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "EventsPollInterval": {
                    "type": "number"
                },
                "MaxFileSize": {
                    "type": "number"
                },
                "ParallelLoadThreads": {
                    "type": "number"
                },
                "Password": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "ServerName": {
                    "type": "string"
                },
                "ServerTimezone": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.IbmDb2Settings": {
            "additionalProperties": false,
            "properties": {
                "CurrentLsn": {
                    "type": "string"
                },
                "MaxKBytesPerRead": {
                    "type": "number"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "SetDataCaptureChanges": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.KafkaSettings": {
            "additionalProperties": false,
            "properties": {
                "Broker": {
                    "type": "string"
                },
                "IncludeControlDetails": {
                    "type": "boolean"
                },
                "IncludeNullAndEmpty": {
                    "type": "boolean"
                },
                "IncludePartitionValue": {
                    "type": "boolean"
                },
                "IncludeTableAlterOperations": {
                    "type": "boolean"
                },
                "IncludeTransactionDetails": {
                    "type": "boolean"
                },
                "MessageFormat": {
                    "type": "string"
                },
                "MessageMaxBytes": {
                    "type": "number"
                },
                "NoHexPrefix": {
                    "type": "boolean"
                },
                "PartitionIncludeSchemaTable": {
                    "type": "boolean"
                },
                "SaslPassword": {
                    "type": "string"
                },
                "SaslUserName": {
                    "type": "string"
                },
                "SecurityProtocol": {
                    "type": "string"
                },
                "SslCaCertificateArn": {
                    "type": "string"
                },
                "SslClientCertificateArn": {
                    "type": "string"
                },
                "SslClientKeyArn": {
                    "type": "string"
                },
                "SslClientKeyPassword": {
                    "type": "string"
                },
                "Topic": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.KinesisSettings": {
            "additionalProperties": false,
            "properties": {
                "IncludeControlDetails": {
                    "type": "boolean"
                },
                "IncludeNullAndEmpty": {
                    "type": "boolean"
                },
                "IncludePartitionValue": {
                    "type": "boolean"
                },
                "IncludeTableAlterOperations": {
                    "type": "boolean"
                },
                "IncludeTransactionDetails": {
                    "type": "boolean"
                },
                "MessageFormat": {
                    "type": "string"
                },
                "NoHexPrefix": {
                    "type": "boolean"
                },
                "PartitionIncludeSchemaTable": {
                    "type": "boolean"
                },
                "ServiceAccessRoleArn": {
                    "type": "string"
                },
                "StreamArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": {
            "additionalProperties": false,
            "properties": {
                "BcpPacketSize": {
                    "type": "number"
                },
                "ControlTablesFileGroup": {
                    "type": "string"
                },
                "QuerySingleAlwaysOnNode": {
                    "type": "boolean"
                },
                "ReadBackupOnly": {
                    "type": "boolean"
                },
                "SafeguardPolicy": {
                    "type": "string"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "UseBcpFullLoad": {
                    "type": "boolean"
                },
                "UseThirdPartyBackupDevice": {
                    "type": "boolean"
                }
            },
            "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": {
                "AfterConnectScript": {
                    "type": "string"
                },
                "CleanSourceMetadataOnMismatch": {
                    "type": "boolean"
                },
                "EventsPollInterval": {
                    "type": "number"
                },
                "MaxFileSize": {
                    "type": "number"
                },
                "ParallelLoadThreads": {
                    "type": "number"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "ServerTimezone": {
                    "type": "string"
                },
                "TargetDbType": {
                    "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": {
                "AccessAlternateDirectly": {
                    "type": "boolean"
                },
                "AddSupplementalLogging": {
                    "type": "boolean"
                },
                "AdditionalArchivedLogDestId": {
                    "type": "number"
                },
                "AllowSelectNestedTables": {
                    "type": "boolean"
                },
                "ArchivedLogDestId": {
                    "type": "number"
                },
                "ArchivedLogsOnly": {
                    "type": "boolean"
                },
                "AsmPassword": {
                    "type": "string"
                },
                "AsmServer": {
                    "type": "string"
                },
                "AsmUser": {
                    "type": "string"
                },
                "CharLengthSemantics": {
                    "type": "string"
                },
                "DirectPathNoLog": {
                    "type": "boolean"
                },
                "DirectPathParallelLoad": {
                    "type": "boolean"
                },
                "EnableHomogenousTablespace": {
                    "type": "boolean"
                },
                "ExtraArchivedLogDestIds": {
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "FailTasksOnLobTruncation": {
                    "type": "boolean"
                },
                "NumberDatatypeScale": {
                    "type": "number"
                },
                "OraclePathPrefix": {
                    "type": "string"
                },
                "ParallelAsmReadThreads": {
                    "type": "number"
                },
                "ReadAheadBlocks": {
                    "type": "number"
                },
                "ReadTableSpaceName": {
                    "type": "boolean"
                },
                "ReplacePathPrefix": {
                    "type": "boolean"
                },
                "RetryInterval": {
                    "type": "number"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerOracleAsmAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerOracleAsmSecretId": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "SecurityDbEncryption": {
                    "type": "string"
                },
                "SecurityDbEncryptionName": {
                    "type": "string"
                },
                "SpatialDataOptionToGeoJsonFunctionName": {
                    "type": "string"
                },
                "StandbyDelayTime": {
                    "type": "number"
                },
                "UseAlternateFolderForOnline": {
                    "type": "boolean"
                },
                "UseBFile": {
                    "type": "boolean"
                },
                "UseDirectPathFullLoad": {
                    "type": "boolean"
                },
                "UseLogminerReader": {
                    "type": "boolean"
                },
                "UsePathPrefix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.PostgreSqlSettings": {
            "additionalProperties": false,
            "properties": {
                "AfterConnectScript": {
                    "type": "string"
                },
                "CaptureDdls": {
                    "type": "boolean"
                },
                "DdlArtifactsSchema": {
                    "type": "string"
                },
                "ExecuteTimeout": {
                    "type": "number"
                },
                "FailTasksOnLobTruncation": {
                    "type": "boolean"
                },
                "HeartbeatEnable": {
                    "type": "boolean"
                },
                "HeartbeatFrequency": {
                    "type": "number"
                },
                "HeartbeatSchema": {
                    "type": "string"
                },
                "MapBooleanAsBoolean": {
                    "type": "boolean"
                },
                "MaxFileSize": {
                    "type": "number"
                },
                "PluginName": {
                    "type": "string"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "SlotName": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.RedisSettings": {
            "additionalProperties": false,
            "properties": {
                "AuthPassword": {
                    "type": "string"
                },
                "AuthType": {
                    "type": "string"
                },
                "AuthUserName": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "ServerName": {
                    "type": "string"
                },
                "SslCaCertificateArn": {
                    "type": "string"
                },
                "SslSecurityProtocol": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.RedshiftSettings": {
            "additionalProperties": false,
            "properties": {
                "AcceptAnyDate": {
                    "type": "boolean"
                },
                "AfterConnectScript": {
                    "type": "string"
                },
                "BucketFolder": {
                    "type": "string"
                },
                "BucketName": {
                    "type": "string"
                },
                "CaseSensitiveNames": {
                    "type": "boolean"
                },
                "CompUpdate": {
                    "type": "boolean"
                },
                "ConnectionTimeout": {
                    "type": "number"
                },
                "DateFormat": {
                    "type": "string"
                },
                "EmptyAsNull": {
                    "type": "boolean"
                },
                "EncryptionMode": {
                    "type": "string"
                },
                "ExplicitIds": {
                    "type": "boolean"
                },
                "FileTransferUploadStreams": {
                    "type": "number"
                },
                "LoadTimeout": {
                    "type": "number"
                },
                "MapBooleanAsBoolean": {
                    "type": "boolean"
                },
                "MaxFileSize": {
                    "type": "number"
                },
                "RemoveQuotes": {
                    "type": "boolean"
                },
                "ReplaceChars": {
                    "type": "string"
                },
                "ReplaceInvalidChars": {
                    "type": "string"
                },
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                },
                "ServerSideEncryptionKmsKeyId": {
                    "type": "string"
                },
                "ServiceAccessRoleArn": {
                    "type": "string"
                },
                "TimeFormat": {
                    "type": "string"
                },
                "TrimBlanks": {
                    "type": "boolean"
                },
                "TruncateColumns": {
                    "type": "boolean"
                },
                "WriteBufferSize": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.S3Settings": {
            "additionalProperties": false,
            "properties": {
                "AddColumnName": {
                    "type": "boolean"
                },
                "BucketFolder": {
                    "type": "string"
                },
                "BucketName": {
                    "type": "string"
                },
                "CannedAclForObjects": {
                    "type": "string"
                },
                "CdcInsertsAndUpdates": {
                    "type": "boolean"
                },
                "CdcInsertsOnly": {
                    "type": "boolean"
                },
                "CdcMaxBatchInterval": {
                    "type": "number"
                },
                "CdcMinFileSize": {
                    "type": "number"
                },
                "CdcPath": {
                    "type": "string"
                },
                "CompressionType": {
                    "type": "string"
                },
                "CsvDelimiter": {
                    "type": "string"
                },
                "CsvNoSupValue": {
                    "type": "string"
                },
                "CsvNullValue": {
                    "type": "string"
                },
                "CsvRowDelimiter": {
                    "type": "string"
                },
                "DataFormat": {
                    "type": "string"
                },
                "DataPageSize": {
                    "type": "number"
                },
                "DatePartitionDelimiter": {
                    "type": "string"
                },
                "DatePartitionEnabled": {
                    "type": "boolean"
                },
                "DatePartitionSequence": {
                    "type": "string"
                },
                "DatePartitionTimezone": {
                    "type": "string"
                },
                "DictPageSizeLimit": {
                    "type": "number"
                },
                "EnableStatistics": {
                    "type": "boolean"
                },
                "EncodingType": {
                    "type": "string"
                },
                "EncryptionMode": {
                    "type": "string"
                },
                "ExternalTableDefinition": {
                    "type": "string"
                },
                "IgnoreHeaderRows": {
                    "type": "number"
                },
                "IncludeOpForFullLoad": {
                    "type": "boolean"
                },
                "MaxFileSize": {
                    "type": "number"
                },
                "ParquetTimestampInMillisecond": {
                    "type": "boolean"
                },
                "ParquetVersion": {
                    "type": "string"
                },
                "PreserveTransactions": {
                    "type": "boolean"
                },
                "Rfc4180": {
                    "type": "boolean"
                },
                "RowGroupLength": {
                    "type": "number"
                },
                "ServerSideEncryptionKmsKeyId": {
                    "type": "string"
                },
                "ServiceAccessRoleArn": {
                    "type": "string"
                },
                "TimestampColumnName": {
                    "type": "string"
                },
                "UseCsvNoSupValue": {
                    "type": "boolean"
                },
                "UseTaskStartTimeForFullLoadTimestamp": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DMS::Endpoint.SybaseSettings": {
            "additionalProperties": false,
            "properties": {
                "SecretsManagerAccessRoleArn": {
                    "type": "string"
                },
                "SecretsManagerSecretId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DMS::EventSubscription": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::ReplicationConfig": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ComputeConfig": {
                            "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig"
                        },
                        "ReplicationConfigArn": {
                            "type": "string"
                        },
                        "ReplicationConfigIdentifier": {
                            "type": "string"
                        },
                        "ReplicationSettings": {
                            "type": "object"
                        },
                        "ReplicationType": {
                            "type": "string"
                        },
                        "ResourceIdentifier": {
                            "type": "string"
                        },
                        "SourceEndpointArn": {
                            "type": "string"
                        },
                        "SupplementalSettings": {
                            "type": "object"
                        },
                        "TableMappings": {
                            "type": "object"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetEndpointArn": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DMS::ReplicationConfig"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DMS::ReplicationConfig.ComputeConfig": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "DnsNameServers": {
                    "type": "string"
                },
                "KmsKeyId": {
                    "type": "string"
                },
                "MaxCapacityUnits": {
                    "type": "number"
                },
                "MinCapacityUnits": {
                    "type": "number"
                },
                "MultiAZ": {
                    "type": "boolean"
                },
                "PreferredMaintenanceWindow": {
                    "type": "string"
                },
                "ReplicationSubnetGroupId": {
                    "type": "string"
                },
                "VpcSecurityGroupIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "MaxCapacityUnits"
            ],
            "type": "object"
        },
        "AWS::DMS::ReplicationInstance": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "QueryString": {
                    "type": "string"
                },
                "TempDirectory": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location"
                }
            },
            "required": [
                "GlueConnectionName"
            ],
            "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"
                },
                "Metadata": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.Metadata"
                },
                "S3InputDefinition": {
                    "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.JsonOptions": {
            "additionalProperties": false,
            "properties": {
                "MultiLine": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Dataset.Metadata": {
            "additionalProperties": false,
            "properties": {
                "SourceArn": {
                    "type": "string"
                }
            },
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DataCatalogOutputs": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataBrew::Job.DataCatalogOutput"
                            },
                            "type": "array"
                        },
                        "DatabaseOutputs": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput"
                            },
                            "type": "array"
                        },
                        "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"
                        },
                        "ProfileConfiguration": {
                            "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration"
                        },
                        "ProjectName": {
                            "type": "string"
                        },
                        "Recipe": {
                            "$ref": "#/definitions/AWS::DataBrew::Job.Recipe"
                        },
                        "RoleArn": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "Timeout": {
                            "type": "number"
                        },
                        "Type": {
                            "type": "string"
                        },
                        "ValidationConfigurations": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataBrew::Job.ValidationConfiguration"
                            },
                            "type": "array"
                        }
                    },
                    "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.AllowedStatistics": {
            "additionalProperties": false,
            "properties": {
                "Statistics": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Statistics"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.ColumnSelector": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Regex": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Job.ColumnStatisticsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Selectors": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector"
                    },
                    "type": "array"
                },
                "Statistics": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration"
                }
            },
            "required": [
                "Statistics"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.CsvOutputOptions": {
            "additionalProperties": false,
            "properties": {
                "Delimiter": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Job.DataCatalogOutput": {
            "additionalProperties": false,
            "properties": {
                "CatalogId": {
                    "type": "string"
                },
                "DatabaseName": {
                    "type": "string"
                },
                "DatabaseOptions": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions"
                },
                "Overwrite": {
                    "type": "boolean"
                },
                "S3Options": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.S3TableOutputOptions"
                },
                "TableName": {
                    "type": "string"
                }
            },
            "required": [
                "DatabaseName",
                "TableName"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.DatabaseOutput": {
            "additionalProperties": false,
            "properties": {
                "DatabaseOptions": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions"
                },
                "DatabaseOutputMode": {
                    "type": "string"
                },
                "GlueConnectionName": {
                    "type": "string"
                }
            },
            "required": [
                "DatabaseOptions",
                "GlueConnectionName"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.DatabaseTableOutputOptions": {
            "additionalProperties": false,
            "properties": {
                "TableName": {
                    "type": "string"
                },
                "TempDirectory": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.S3Location"
                }
            },
            "required": [
                "TableName"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.EntityDetectorConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AllowedStatistics": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.AllowedStatistics"
                },
                "EntityTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "EntityTypes"
            ],
            "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"
                },
                "MaxOutputFiles": {
                    "type": "number"
                },
                "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"
                },
                "BucketOwner": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.ProfileConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ColumnStatisticsConfigurations": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration"
                    },
                    "type": "array"
                },
                "DatasetStatisticsConfiguration": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration"
                },
                "EntityDetectorConfiguration": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.EntityDetectorConfiguration"
                },
                "ProfileColumns": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector"
                    },
                    "type": "array"
                }
            },
            "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"
                },
                "BucketOwner": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                }
            },
            "required": [
                "Bucket"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.S3TableOutputOptions": {
            "additionalProperties": false,
            "properties": {
                "Location": {
                    "$ref": "#/definitions/AWS::DataBrew::Job.S3Location"
                }
            },
            "required": [
                "Location"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.StatisticOverride": {
            "additionalProperties": false,
            "properties": {
                "Parameters": {
                    "additionalProperties": true,
                    "patternProperties": {
                        "^[a-zA-Z0-9]+$": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Statistic": {
                    "type": "string"
                }
            },
            "required": [
                "Parameters",
                "Statistic"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Job.StatisticsConfiguration": {
            "additionalProperties": false,
            "properties": {
                "IncludedStatistics": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Overrides": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Job.ValidationConfiguration": {
            "additionalProperties": false,
            "properties": {
                "RulesetArn": {
                    "type": "string"
                },
                "ValidationMode": {
                    "type": "string"
                }
            },
            "required": [
                "RulesetArn"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Project": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                    "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeParameters"
                }
            },
            "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.Input": {
            "additionalProperties": false,
            "properties": {
                "DataCatalogInputDefinition": {
                    "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition"
                },
                "S3InputDefinition": {
                    "$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": {
                    "$ref": "#/definitions/AWS::DataBrew::Recipe.Input"
                },
                "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::Ruleset": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Rules": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataBrew::Ruleset.Rule"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TargetArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Name",
                        "Rules",
                        "TargetArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataBrew::Ruleset"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Ruleset.ColumnSelector": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "Regex": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataBrew::Ruleset.Rule": {
            "additionalProperties": false,
            "properties": {
                "CheckExpression": {
                    "type": "string"
                },
                "ColumnSelectors": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Ruleset.ColumnSelector"
                    },
                    "type": "array"
                },
                "Disabled": {
                    "type": "boolean"
                },
                "Name": {
                    "type": "string"
                },
                "SubstitutionMap": {
                    "items": {
                        "$ref": "#/definitions/AWS::DataBrew::Ruleset.SubstitutionValue"
                    },
                    "type": "array"
                },
                "Threshold": {
                    "$ref": "#/definitions/AWS::DataBrew::Ruleset.Threshold"
                }
            },
            "required": [
                "CheckExpression",
                "Name"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Ruleset.SubstitutionValue": {
            "additionalProperties": false,
            "properties": {
                "Value": {
                    "type": "string"
                },
                "ValueReference": {
                    "type": "string"
                }
            },
            "required": [
                "Value",
                "ValueReference"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Ruleset.Threshold": {
            "additionalProperties": false,
            "properties": {
                "Type": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                },
                "Value": {
                    "type": "number"
                }
            },
            "required": [
                "Value"
            ],
            "type": "object"
        },
        "AWS::DataBrew::Schedule": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                    ],
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::Agent"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationAzureBlob": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "AzureAccessTier": {
                            "type": "string"
                        },
                        "AzureBlobAuthenticationType": {
                            "type": "string"
                        },
                        "AzureBlobContainerUrl": {
                            "type": "string"
                        },
                        "AzureBlobSasConfiguration": {
                            "$ref": "#/definitions/AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration"
                        },
                        "AzureBlobType": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AgentArns",
                        "AzureBlobAuthenticationType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationAzureBlob"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationAzureBlob.AzureBlobSasConfiguration": {
            "additionalProperties": false,
            "properties": {
                "AzureBlobSasToken": {
                    "type": "string"
                }
            },
            "required": [
                "AzureBlobSasToken"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationEFS": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AccessPointArn": {
                            "type": "string"
                        },
                        "Ec2Config": {
                            "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config"
                        },
                        "EfsFilesystemArn": {
                            "type": "string"
                        },
                        "FileSystemAccessRoleArn": {
                            "type": "string"
                        },
                        "InTransitEncryption": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Ec2Config"
                    ],
                    "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::LocationFSxLustre": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FsxFilesystemArn": {
                            "type": "string"
                        },
                        "SecurityGroupArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SecurityGroupArns"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationFSxLustre"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationFSxONTAP": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Protocol": {
                            "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.Protocol"
                        },
                        "SecurityGroupArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "StorageVirtualMachineArn": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SecurityGroupArns",
                        "StorageVirtualMachineArn"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationFSxONTAP"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationFSxONTAP.NFS": {
            "additionalProperties": false,
            "properties": {
                "MountOptions": {
                    "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NfsMountOptions"
                }
            },
            "required": [
                "MountOptions"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationFSxONTAP.NfsMountOptions": {
            "additionalProperties": false,
            "properties": {
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::LocationFSxONTAP.Protocol": {
            "additionalProperties": false,
            "properties": {
                "NFS": {
                    "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.NFS"
                },
                "SMB": {
                    "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SMB"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::LocationFSxONTAP.SMB": {
            "additionalProperties": false,
            "properties": {
                "Domain": {
                    "type": "string"
                },
                "MountOptions": {
                    "$ref": "#/definitions/AWS::DataSync::LocationFSxONTAP.SmbMountOptions"
                },
                "Password": {
                    "type": "string"
                },
                "User": {
                    "type": "string"
                }
            },
            "required": [
                "MountOptions",
                "Password",
                "User"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationFSxONTAP.SmbMountOptions": {
            "additionalProperties": false,
            "properties": {
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::LocationFSxOpenZFS": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "FsxFilesystemArn": {
                            "type": "string"
                        },
                        "Protocol": {
                            "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol"
                        },
                        "SecurityGroupArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "Protocol",
                        "SecurityGroupArns"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationFSxOpenZFS"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationFSxOpenZFS.MountOptions": {
            "additionalProperties": false,
            "properties": {
                "Version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::LocationFSxOpenZFS.NFS": {
            "additionalProperties": false,
            "properties": {
                "MountOptions": {
                    "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions"
                }
            },
            "required": [
                "MountOptions"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationFSxOpenZFS.Protocol": {
            "additionalProperties": false,
            "properties": {
                "NFS": {
                    "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::LocationFSxWindows": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": [
                        "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::LocationHDFS": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "AuthenticationType": {
                            "type": "string"
                        },
                        "BlockSize": {
                            "type": "number"
                        },
                        "KerberosKeytab": {
                            "type": "string"
                        },
                        "KerberosKrb5Conf": {
                            "type": "string"
                        },
                        "KerberosPrincipal": {
                            "type": "string"
                        },
                        "KmsKeyProviderUri": {
                            "type": "string"
                        },
                        "NameNodes": {
                            "items": {
                                "$ref": "#/definitions/AWS::DataSync::LocationHDFS.NameNode"
                            },
                            "type": "array"
                        },
                        "QopConfiguration": {
                            "$ref": "#/definitions/AWS::DataSync::LocationHDFS.QopConfiguration"
                        },
                        "ReplicationFactor": {
                            "type": "number"
                        },
                        "SimpleUser": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AgentArns",
                        "AuthenticationType",
                        "NameNodes"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::LocationHDFS"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationHDFS.NameNode": {
            "additionalProperties": false,
            "properties": {
                "Hostname": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Hostname",
                "Port"
            ],
            "type": "object"
        },
        "AWS::DataSync::LocationHDFS.QopConfiguration": {
            "additionalProperties": false,
            "properties": {
                "DataTransferProtection": {
                    "type": "string"
                },
                "RpcProtection": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DataSync::LocationNFS": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                    ],
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ServerCertificate": {
                            "type": "string"
                        },
                        "ServerHostname": {
                            "type": "string"
                        },
                        "ServerPort": {
                            "type": "number"
                        },
                        "ServerProtocol": {
                            "type": "string"
                        },
                        "Subdirectory": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AgentArns"
                    ],
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": [
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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",
                        "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::StorageSystem": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "CloudWatchLogGroupArn": {
                            "type": "string"
                        },
                        "Name": {
                            "type": "string"
                        },
                        "ServerConfiguration": {
                            "$ref": "#/definitions/AWS::DataSync::StorageSystem.ServerConfiguration"
                        },
                        "ServerCredentials": {
                            "$ref": "#/definitions/AWS::DataSync::StorageSystem.ServerCredentials"
                        },
                        "SystemType": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AgentArns",
                        "ServerConfiguration",
                        "SystemType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DataSync::StorageSystem"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DataSync::StorageSystem.ServerConfiguration": {
            "additionalProperties": false,
            "properties": {
                "ServerHostname": {
                    "type": "string"
                },
                "ServerPort": {
                    "type": "number"
                }
            },
            "required": [
                "ServerHostname"
            ],
            "type": "object"
        },
        "AWS::DataSync::StorageSystem.ServerCredentials": {
            "additionalProperties": false,
            "properties": {
                "Password": {
                    "type": "string"
                },
                "Username": {
                    "type": "string"
                }
            },
            "required": [
                "Password",
                "Username"
            ],
            "type": "object"
        },
        "AWS::DataSync::Task": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Includes": {
                            "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"
                },
                "ObjectTags": {
                    "type": "string"
                },
                "OverwriteMode": {
                    "type": "string"
                },
                "PosixPermissions": {
                    "type": "string"
                },
                "PreserveDeletedFiles": {
                    "type": "string"
                },
                "PreserveDevices": {
                    "type": "string"
                },
                "SecurityDescriptorCopyFlags": {
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AutoEnableMembers": {
                            "type": "boolean"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::Detective::OrganizationAdmin": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        }
                    },
                    "required": [
                        "AccountId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::Detective::OrganizationAdmin"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::DevOpsGuru::LogAnomalyDetectionIntegration"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DevOpsGuru::NotificationChannel": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Filters": {
                    "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig"
                },
                "Sns": {
                    "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig"
                }
            },
            "type": "object"
        },
        "AWS::DevOpsGuru::NotificationChannel.NotificationFilterConfig": {
            "additionalProperties": false,
            "properties": {
                "MessageTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Severities": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": {
            "additionalProperties": false,
            "properties": {
                "TopicArn": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::DevOpsGuru::ResourceCollection": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.TagCollection"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DevOpsGuru::ResourceCollection.TagCollection": {
            "additionalProperties": false,
            "properties": {
                "AppBoundaryKey": {
                    "type": "string"
                },
                "TagValues": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::DirectoryService::MicrosoftAD": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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",
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "CopyTagsToSnapshot": {
                            "type": "boolean"
                        },
                        "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"
                        },
                        "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::DocDB::DBCluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::DocDB::DBClusterParameterGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "EnablePerformanceInsights": {
                            "type": "boolean"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::DocDBElastic::Cluster": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdminUserName": {
                            "type": "string"
                        },
                        "AdminUserPassword": {
                            "type": "string"
                        },
                        "AuthType": {
                            "type": "string"
                        },
                        "ClusterName": {
                            "type": "string"
                        },
                        "KmsKeyId": {
                            "type": "string"
                        },
                        "PreferredMaintenanceWindow": {
                            "type": "string"
                        },
                        "ShardCapacity": {
                            "type": "number"
                        },
                        "ShardCount": {
                            "type": "number"
                        },
                        "SubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcSecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AdminUserName",
                        "AuthType",
                        "ClusterName",
                        "ShardCapacity",
                        "ShardCount"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::DocDBElastic::Cluster"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::GlobalTable": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.KinesisStreamSpecification": {
            "additionalProperties": false,
            "properties": {
                "StreamArn": {
                    "type": "string"
                }
            },
            "required": [
                "StreamArn"
            ],
            "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"
                },
                "DeletionProtectionEnabled": {
                    "type": "boolean"
                },
                "GlobalSecondaryIndexes": {
                    "items": {
                        "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification"
                    },
                    "type": "array"
                },
                "KinesisStreamSpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KinesisStreamSpecification"
                },
                "PointInTimeRecoverySpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification"
                },
                "ReadProvisionedThroughputSettings": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings"
                },
                "Region": {
                    "type": "string"
                },
                "SSESpecification": {
                    "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification"
                },
                "TableClass": {
                    "type": "string"
                },
                "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DeletionProtectionEnabled": {
                            "type": "boolean"
                        },
                        "GlobalSecondaryIndexes": {
                            "items": {
                                "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex"
                            },
                            "type": "array"
                        },
                        "ImportSourceSpecification": {
                            "$ref": "#/definitions/AWS::DynamoDB::Table.ImportSourceSpecification"
                        },
                        "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"
                        },
                        "TableClass": {
                            "type": "string"
                        },
                        "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.Csv": {
            "additionalProperties": false,
            "properties": {
                "Delimiter": {
                    "type": "string"
                },
                "HeaderList": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "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.ImportSourceSpecification": {
            "additionalProperties": false,
            "properties": {
                "InputCompressionType": {
                    "type": "string"
                },
                "InputFormat": {
                    "type": "string"
                },
                "InputFormatOptions": {
                    "$ref": "#/definitions/AWS::DynamoDB::Table.InputFormatOptions"
                },
                "S3BucketSource": {
                    "$ref": "#/definitions/AWS::DynamoDB::Table.S3BucketSource"
                }
            },
            "required": [
                "InputFormat",
                "S3BucketSource"
            ],
            "type": "object"
        },
        "AWS::DynamoDB::Table.InputFormatOptions": {
            "additionalProperties": false,
            "properties": {
                "Csv": {
                    "$ref": "#/definitions/AWS::DynamoDB::Table.Csv"
                }
            },
            "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.S3BucketSource": {
            "additionalProperties": false,
            "properties": {
                "S3Bucket": {
                    "type": "string"
                },
                "S3BucketOwner": {
                    "type": "string"
                },
                "S3KeyPrefix": {
                    "type": "string"
                }
            },
            "required": [
                "S3Bucket"
            ],
            "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": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::EC2::CapacityReservation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "OutPostArn": {
                            "type": "string"
                        },
                        "PlacementGroupArn": {
                            "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::CapacityReservationFleet": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AllocationStrategy": {
                            "type": "string"
                        },
                        "EndDate": {
                            "type": "string"
                        },
                        "InstanceMatchCriteria": {
                            "type": "string"
                        },
                        "InstanceTypeSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification"
                            },
                            "type": "array"
                        },
                        "NoRemoveEndDate": {
                            "type": "boolean"
                        },
                        "RemoveEndDate": {
                            "type": "boolean"
                        },
                        "TagSpecifications": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::CapacityReservationFleet.TagSpecification"
                            },
                            "type": "array"
                        },
                        "Tenancy": {
                            "type": "string"
                        },
                        "TotalTargetCapacity": {
                            "type": "number"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::CapacityReservationFleet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification": {
            "additionalProperties": false,
            "properties": {
                "AvailabilityZone": {
                    "type": "string"
                },
                "AvailabilityZoneId": {
                    "type": "string"
                },
                "EbsOptimized": {
                    "type": "boolean"
                },
                "InstancePlatform": {
                    "type": "string"
                },
                "InstanceType": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                },
                "Weight": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::CapacityReservationFleet.TagSpecification": {
            "additionalProperties": false,
            "properties": {
                "ResourceType": {
                    "type": "string"
                },
                "Tags": {
                    "items": {
                        "$ref": "#/definitions/Tag"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::CarrierGateway": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ClientLoginBannerOptions": {
                            "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions"
                        },
                        "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"
                        },
                        "SessionTimeoutHours": {
                            "type": "number"
                        },
                        "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.ClientLoginBannerOptions": {
            "additionalProperties": false,
            "properties": {
                "BannerText": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DeviceName": {
                            "type": "string"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Context": {
                            "type": "string"
                        },
                        "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.AcceleratorCountRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.CapacityRebalance": {
            "additionalProperties": false,
            "properties": {
                "ReplacementStrategy": {
                    "type": "string"
                },
                "TerminationDelay": {
                    "type": "number"
                }
            },
            "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"
                },
                "InstanceRequirements": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.InstanceRequirementsRequest"
                },
                "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"
                }
            },
            "required": [
                "Version"
            ],
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.InstanceRequirementsRequest": {
            "additionalProperties": false,
            "properties": {
                "AcceleratorCount": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorCountRequest"
                },
                "AcceleratorManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorTotalMemoryMiB": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest"
                },
                "AcceleratorTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "BareMetal": {
                    "type": "string"
                },
                "BaselineEbsBandwidthMbps": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest"
                },
                "BurstablePerformance": {
                    "type": "string"
                },
                "CpuManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExcludedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InstanceGenerations": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "LocalStorage": {
                    "type": "string"
                },
                "LocalStorageTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MemoryGiBPerVCpu": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest"
                },
                "MemoryMiB": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.MemoryMiBRequest"
                },
                "NetworkBandwidthGbps": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest"
                },
                "NetworkInterfaceCount": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest"
                },
                "OnDemandMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "RequireHibernateSupport": {
                    "type": "boolean"
                },
                "SpotMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "TotalLocalStorageGB": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest"
                },
                "VCpuCount": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.VCpuCountRangeRequest"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.MaintenanceStrategies": {
            "additionalProperties": false,
            "properties": {
                "CapacityRebalance": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityRebalance"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.MemoryMiBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "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"
                },
                "MaintenanceStrategies": {
                    "$ref": "#/definitions/AWS::EC2::EC2Fleet.MaintenanceStrategies"
                },
                "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"
                },
                "TargetCapacityUnitType": {
                    "type": "string"
                },
                "TotalTargetCapacity": {
                    "type": "number"
                }
            },
            "required": [
                "TotalTargetCapacity"
            ],
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EC2Fleet.VCpuCountRangeRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::EIP": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "NetworkBorderGroup": {
                            "type": "string"
                        },
                        "PublicIpv4Pool": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransferAddress": {
                            "type": "string"
                        }
                    },
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DestinationOptions": {
                            "$ref": "#/definitions/AWS::EC2::FlowLog.DestinationOptions"
                        },
                        "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"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::FlowLog"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::FlowLog.DestinationOptions": {
            "additionalProperties": false,
            "properties": {
                "FileFormat": {
                    "type": "string"
                },
                "HiveCompatiblePartitions": {
                    "type": "boolean"
                },
                "PerHourPartition": {
                    "type": "boolean"
                }
            },
            "required": [
                "FileFormat",
                "HiveCompatiblePartitions",
                "PerHourPartition"
            ],
            "type": "object"
        },
        "AWS::EC2::GatewayRouteTableAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AssetId": {
                            "type": "string"
                        },
                        "AutoPlacement": {
                            "type": "string"
                        },
                        "AvailabilityZone": {
                            "type": "string"
                        },
                        "HostMaintenance": {
                            "type": "string"
                        },
                        "HostRecovery": {
                            "type": "string"
                        },
                        "InstanceFamily": {
                            "type": "string"
                        },
                        "InstanceType": {
                            "type": "string"
                        },
                        "OutpostArn": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "AvailabilityZone"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::Host"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAM": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "DefaultResourceDiscoveryAssociationId": {
                            "type": "string"
                        },
                        "DefaultResourceDiscoveryId": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "OperatingRegions": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::IPAM.IpamOperatingRegion"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::IPAM"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAM.IpamOperatingRegion": {
            "additionalProperties": false,
            "properties": {
                "RegionName": {
                    "type": "string"
                }
            },
            "required": [
                "RegionName"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMAllocation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Cidr": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "IpamPoolId": {
                            "type": "string"
                        },
                        "NetmaskLength": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "IpamPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::IPAMAllocation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMPool": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "AllocationDefaultNetmaskLength": {
                            "type": "number"
                        },
                        "AllocationMaxNetmaskLength": {
                            "type": "number"
                        },
                        "AllocationMinNetmaskLength": {
                            "type": "number"
                        },
                        "AllocationResourceTags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "AutoImport": {
                            "type": "boolean"
                        },
                        "AwsService": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "IpamScopeId": {
                            "type": "string"
                        },
                        "Locale": {
                            "type": "string"
                        },
                        "ProvisionedCidrs": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::IPAMPool.ProvisionedCidr"
                            },
                            "type": "array"
                        },
                        "PublicIpSource": {
                            "type": "string"
                        },
                        "PubliclyAdvertisable": {
                            "type": "boolean"
                        },
                        "SourceIpamPoolId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "AddressFamily",
                        "IpamScopeId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::IPAMPool"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMPool.ProvisionedCidr": {
            "additionalProperties": false,
            "properties": {
                "Cidr": {
                    "type": "string"
                }
            },
            "required": [
                "Cidr"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMPoolCidr": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "Cidr": {
                            "type": "string"
                        },
                        "IpamPoolId": {
                            "type": "string"
                        },
                        "NetmaskLength": {
                            "type": "number"
                        }
                    },
                    "required": [
                        "IpamPoolId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::IPAMPoolCidr"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMResourceDiscovery": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "OperatingRegions": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::IPAMResourceDiscovery"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion": {
            "additionalProperties": false,
            "properties": {
                "RegionName": {
                    "type": "string"
                }
            },
            "required": [
                "RegionName"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMResourceDiscoveryAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "IpamId": {
                            "type": "string"
                        },
                        "IpamResourceDiscoveryId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "IpamId",
                        "IpamResourceDiscoveryId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::IPAMResourceDiscoveryAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::IPAMScope": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "IpamId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "IpamId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::IPAMScope"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::Instance": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "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"
                        },
                        "PrivateDnsNameOptions": {
                            "$ref": "#/definitions/AWS::EC2::Instance.PrivateDnsNameOptions"
                        },
                        "PrivateIpAddress": {
                            "type": "string"
                        },
                        "PropagateTagsToVolumeOnCreation": {
                            "type": "boolean"
                        },
                        "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": {
                "AssociateCarrierIpAddress": {
                    "type": "boolean"
                },
                "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.PrivateDnsNameOptions": {
            "additionalProperties": false,
            "properties": {
                "EnableResourceNameDnsAAAARecord": {
                    "type": "boolean"
                },
                "EnableResourceNameDnsARecord": {
                    "type": "boolean"
                },
                "HostnameType": {
                    "type": "string"
                }
            },
            "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::InstanceConnectEndpoint": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ClientToken": {
                            "type": "string"
                        },
                        "PreserveClientIp": {
                            "type": "boolean"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "SubnetId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::InstanceConnectEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::InternetGateway": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::KeyPair": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "KeyFormat": {
                            "type": "string"
                        },
                        "KeyName": {
                            "type": "string"
                        },
                        "KeyType": {
                            "type": "string"
                        },
                        "PublicKeyMaterial": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "KeyName"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::KeyPair"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "VersionDescription": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "LaunchTemplateData"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::LaunchTemplate"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.AcceleratorCount": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "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": {
                "AmdSevSnp": {
                    "type": "string"
                },
                "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.InstanceRequirements": {
            "additionalProperties": false,
            "properties": {
                "AcceleratorCount": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorCount"
                },
                "AcceleratorManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorTotalMemoryMiB": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB"
                },
                "AcceleratorTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "BareMetal": {
                    "type": "string"
                },
                "BaselineEbsBandwidthMbps": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps"
                },
                "BurstablePerformance": {
                    "type": "string"
                },
                "CpuManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExcludedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InstanceGenerations": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "LocalStorage": {
                    "type": "string"
                },
                "LocalStorageTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MemoryGiBPerVCpu": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu"
                },
                "MemoryMiB": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MemoryMiB"
                },
                "NetworkBandwidthGbps": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkBandwidthGbps"
                },
                "NetworkInterfaceCount": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterfaceCount"
                },
                "OnDemandMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "RequireHibernateSupport": {
                    "type": "boolean"
                },
                "SpotMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "TotalLocalStorageGB": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TotalLocalStorageGB"
                },
                "VCpuCount": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.VCpuCount"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification": {
            "additionalProperties": false,
            "properties": {
                "Ipv4Prefix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Ipv6Add": {
            "additionalProperties": false,
            "properties": {
                "Ipv6Address": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification": {
            "additionalProperties": false,
            "properties": {
                "Ipv6Prefix": {
                    "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"
                },
                "DisableApiStop": {
                    "type": "boolean"
                },
                "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"
                },
                "InstanceRequirements": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceRequirements"
                },
                "InstanceType": {
                    "type": "string"
                },
                "KernelId": {
                    "type": "string"
                },
                "KeyName": {
                    "type": "string"
                },
                "LicenseSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification"
                    },
                    "type": "array"
                },
                "MaintenanceOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions"
                },
                "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"
                },
                "PrivateDnsNameOptions": {
                    "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateDnsNameOptions"
                },
                "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.MaintenanceOptions": {
            "additionalProperties": false,
            "properties": {
                "AutoRecovery": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.MemoryMiB": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.MetadataOptions": {
            "additionalProperties": false,
            "properties": {
                "HttpEndpoint": {
                    "type": "string"
                },
                "HttpProtocolIpv6": {
                    "type": "string"
                },
                "HttpPutResponseHopLimit": {
                    "type": "number"
                },
                "HttpTokens": {
                    "type": "string"
                },
                "InstanceMetadataTags": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Monitoring": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.NetworkBandwidthGbps": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "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"
                },
                "Ipv4PrefixCount": {
                    "type": "number"
                },
                "Ipv4Prefixes": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification"
                    },
                    "type": "array"
                },
                "Ipv6AddressCount": {
                    "type": "number"
                },
                "Ipv6Addresses": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add"
                    },
                    "type": "array"
                },
                "Ipv6PrefixCount": {
                    "type": "number"
                },
                "Ipv6Prefixes": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification"
                    },
                    "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.NetworkInterfaceCount": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.Placement": {
            "additionalProperties": false,
            "properties": {
                "Affinity": {
                    "type": "string"
                },
                "AvailabilityZone": {
                    "type": "string"
                },
                "GroupId": {
                    "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.PrivateDnsNameOptions": {
            "additionalProperties": false,
            "properties": {
                "EnableResourceNameDnsAAAARecord": {
                    "type": "boolean"
                },
                "EnableResourceNameDnsARecord": {
                    "type": "boolean"
                },
                "HostnameType": {
                    "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::LaunchTemplate.TotalLocalStorageGB": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LaunchTemplate.VCpuCount": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::LocalGatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "NetworkInterfaceId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "DestinationCidrBlock",
                        "LocalGatewayRouteTableId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::LocalGatewayRoute"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::LocalGatewayRouteTable": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "LocalGatewayId": {
                            "type": "string"
                        },
                        "Mode": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "LocalGatewayId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::LocalGatewayRouteTable"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::LocalGatewayRouteTableVPCAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::LocalGatewayRouteTableVirtualInterfaceGroupAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "LocalGatewayVirtualInterfaceGroupId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "LocalGatewayRouteTableId",
                        "LocalGatewayVirtualInterfaceGroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NatGateway": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ConnectivityType": {
                            "type": "string"
                        },
                        "MaxDrainDurationSeconds": {
                            "type": "number"
                        },
                        "PrivateIpAddress": {
                            "type": "string"
                        },
                        "SecondaryAllocationIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SecondaryPrivateIpAddressCount": {
                            "type": "number"
                        },
                        "SecondaryPrivateIpAddresses": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "SubnetId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::NetworkInsightsAccessScope": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ExcludePaths": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest"
                            },
                            "type": "array"
                        },
                        "MatchPaths": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkInsightsAccessScope"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest": {
            "additionalProperties": false,
            "properties": {
                "Destination": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest"
                },
                "Source": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest"
                },
                "ThroughResources": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest": {
            "additionalProperties": false,
            "properties": {
                "DestinationAddresses": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DestinationPorts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "DestinationPrefixLists": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Protocols": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SourceAddresses": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SourcePorts": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "SourcePrefixLists": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest": {
            "additionalProperties": false,
            "properties": {
                "PacketHeaderStatement": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest"
                },
                "ResourceStatement": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest": {
            "additionalProperties": false,
            "properties": {
                "ResourceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Resources": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest": {
            "additionalProperties": false,
            "properties": {
                "ResourceStatement": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAccessScopeAnalysis": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "NetworkInsightsAccessScopeId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "NetworkInsightsAccessScopeId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkInsightsAccessScopeAnalysis"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsAnalysis": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AdditionalAccounts": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "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.AdditionalDetail": {
            "additionalProperties": false,
            "properties": {
                "AdditionalDetailType": {
                    "type": "string"
                },
                "Component": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "LoadBalancers": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                    },
                    "type": "array"
                },
                "ServiceName": {
                    "type": "string"
                }
            },
            "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"
                },
                "State": {
                    "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"
                },
                "ComponentAccount": {
                    "type": "string"
                },
                "ComponentRegion": {
                    "type": "string"
                },
                "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"
                },
                "TransitGateway": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "TransitGatewayAttachment": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "TransitGatewayRouteTable": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "TransitGatewayRouteTableRoute": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute"
                },
                "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"
                },
                "AdditionalDetails": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail"
                    },
                    "type": "array"
                },
                "Component": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "DestinationVpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "ElasticLoadBalancerListener": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Explanations": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.Explanation"
                    },
                    "type": "array"
                },
                "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"
                },
                "ServiceName": {
                    "type": "string"
                },
                "SourceVpc": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "Subnet": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "TransitGateway": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent"
                },
                "TransitGatewayRouteTableRoute": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute"
                },
                "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::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute": {
            "additionalProperties": false,
            "properties": {
                "AttachmentId": {
                    "type": "string"
                },
                "DestinationCidr": {
                    "type": "string"
                },
                "PrefixListId": {
                    "type": "string"
                },
                "ResourceId": {
                    "type": "string"
                },
                "ResourceType": {
                    "type": "string"
                },
                "RouteOrigin": {
                    "type": "string"
                },
                "State": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsPath": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "FilterAtDestination": {
                            "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter"
                        },
                        "FilterAtSource": {
                            "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.PathFilter"
                        },
                        "Protocol": {
                            "type": "string"
                        },
                        "Source": {
                            "type": "string"
                        },
                        "SourceIp": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "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::NetworkInsightsPath.FilterPortRange": {
            "additionalProperties": false,
            "properties": {
                "FromPort": {
                    "type": "number"
                },
                "ToPort": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInsightsPath.PathFilter": {
            "additionalProperties": false,
            "properties": {
                "DestinationAddress": {
                    "type": "string"
                },
                "DestinationPortRange": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange"
                },
                "SourceAddress": {
                    "type": "string"
                },
                "SourcePortRange": {
                    "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath.FilterPortRange"
                }
            },
            "type": "object"
        },
        "AWS::EC2::NetworkInterface": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Ipv4PrefixCount": {
                            "type": "number"
                        },
                        "Ipv4Prefixes": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv4PrefixSpecification"
                            },
                            "type": "array"
                        },
                        "Ipv6AddressCount": {
                            "type": "number"
                        },
                        "Ipv6Addresses": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address"
                            },
                            "type": "array"
                        },
                        "Ipv6PrefixCount": {
                            "type": "number"
                        },
                        "Ipv6Prefixes": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::NetworkInterface.Ipv6PrefixSpecification"
                            },
                            "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.Ipv4PrefixSpecification": {
            "additionalProperties": false,
            "properties": {
                "Ipv4Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "Ipv4Prefix"
            ],
            "type": "object"
        },
        "AWS::EC2::NetworkInterface.Ipv6PrefixSpecification": {
            "additionalProperties": false,
            "properties": {
                "Ipv6Prefix": {
                    "type": "string"
                }
            },
            "required": [
                "Ipv6Prefix"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::NetworkPerformanceMetricSubscription": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Metric": {
                            "type": "string"
                        },
                        "Source": {
                            "type": "string"
                        },
                        "Statistic": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Destination",
                        "Metric",
                        "Source",
                        "Statistic"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::NetworkPerformanceMetricSubscription"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::PlacementGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "PartitionCount": {
                            "type": "number"
                        },
                        "SpreadLevel": {
                            "type": "string"
                        },
                        "Strategy": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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.AcceleratorCountRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "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.InstanceRequirementsRequest": {
            "additionalProperties": false,
            "properties": {
                "AcceleratorCount": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorCountRequest"
                },
                "AcceleratorManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AcceleratorTotalMemoryMiB": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest"
                },
                "AcceleratorTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "AllowedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "BareMetal": {
                    "type": "string"
                },
                "BaselineEbsBandwidthMbps": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest"
                },
                "BurstablePerformance": {
                    "type": "string"
                },
                "CpuManufacturers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "ExcludedInstanceTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "InstanceGenerations": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "LocalStorage": {
                    "type": "string"
                },
                "LocalStorageTypes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "MemoryGiBPerVCpu": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest"
                },
                "MemoryMiB": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.MemoryMiBRequest"
                },
                "NetworkBandwidthGbps": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest"
                },
                "NetworkInterfaceCount": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.NetworkInterfaceCountRequest"
                },
                "OnDemandMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "RequireHibernateSupport": {
                    "type": "boolean"
                },
                "SpotMaxPricePercentageOverLowestPrice": {
                    "type": "number"
                },
                "TotalLocalStorageGB": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.TotalLocalStorageGBRequest"
                },
                "VCpuCount": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.VCpuCountRangeRequest"
                }
            },
            "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"
                },
                "InstanceRequirements": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest"
                },
                "InstanceType": {
                    "type": "string"
                },
                "Priority": {
                    "type": "number"
                },
                "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.MemoryGiBPerVCpuRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.MemoryMiBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.NetworkInterfaceCountRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "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"
                },
                "TerminationDelay": {
                    "type": "number"
                }
            },
            "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"
                },
                "InstanceRequirements": {
                    "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceRequirementsRequest"
                },
                "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"
            ],
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotFleetMonitoring": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": {
            "additionalProperties": false,
            "properties": {
                "AllocationStrategy": {
                    "type": "string"
                },
                "Context": {
                    "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"
                },
                "TagSpecifications": {
                    "items": {
                        "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification"
                    },
                    "type": "array"
                },
                "TargetCapacity": {
                    "type": "number"
                },
                "TargetCapacityUnitType": {
                    "type": "string"
                },
                "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::SpotFleet.TotalLocalStorageGBRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SpotFleet.VCpuCountRangeRequest": {
            "additionalProperties": false,
            "properties": {
                "Max": {
                    "type": "number"
                },
                "Min": {
                    "type": "number"
                }
            },
            "type": "object"
        },
        "AWS::EC2::Subnet": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "AvailabilityZoneId": {
                            "type": "string"
                        },
                        "CidrBlock": {
                            "type": "string"
                        },
                        "EnableDns64": {
                            "type": "boolean"
                        },
                        "Ipv6CidrBlock": {
                            "type": "string"
                        },
                        "Ipv6Native": {
                            "type": "boolean"
                        },
                        "MapPublicIpOnLaunch": {
                            "type": "boolean"
                        },
                        "OutpostArn": {
                            "type": "string"
                        },
                        "PrivateDnsNameOptionsOnLaunch": {
                            "$ref": "#/definitions/AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VpcId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VpcId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::Subnet"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch": {
            "additionalProperties": false,
            "properties": {
                "EnableResourceNameDnsAAAARecord": {
                    "type": "boolean"
                },
                "EnableResourceNameDnsARecord": {
                    "type": "boolean"
                },
                "HostnameType": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::SubnetCidrBlock": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "GatewayLoadBalancerEndpointId": {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "AssociationDefaultRouteTableId": {
                            "type": "string"
                        },
                        "AutoAcceptSharedAttachments": {
                            "type": "string"
                        },
                        "DefaultRouteTableAssociation": {
                            "type": "string"
                        },
                        "DefaultRouteTablePropagation": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DnsSupport": {
                            "type": "string"
                        },
                        "MulticastSupport": {
                            "type": "string"
                        },
                        "PropagationDefaultRouteTableId": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TransitGatewayCidrBlocks": {
                            "items": {
                                "type": "string"
                            },
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::TransitGatewayAttachment.Options"
                        },
                        "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::TransitGatewayAttachment.Options": {
            "additionalProperties": false,
            "properties": {
                "ApplianceModeSupport": {
                    "type": "string"
                },
                "DnsSupport": {
                    "type": "string"
                },
                "Ipv6Support": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::TransitGatewayConnect": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::TransitGatewayMulticastDomain.Options"
                        },
                        "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::TransitGatewayMulticastDomain.Options": {
            "additionalProperties": false,
            "properties": {
                "AutoAcceptSharedAssociations": {
                    "type": "string"
                },
                "Igmpv2Support": {
                    "type": "string"
                },
                "StaticSourcesSupport": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::TransitGatewayMulticastDomainAssociation": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::TransitGatewayPeeringAttachment.PeeringAttachmentStatus": {
            "additionalProperties": false,
            "properties": {
                "Code": {
                    "type": "string"
                },
                "Message": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::TransitGatewayRoute": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::TransitGatewayVpcAttachment": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "AddSubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Options": {
                            "$ref": "#/definitions/AWS::EC2::TransitGatewayVpcAttachment.Options"
                        },
                        "RemoveSubnetIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "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::TransitGatewayVpcAttachment"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::TransitGatewayVpcAttachment.Options": {
            "additionalProperties": false,
            "properties": {
                "ApplianceModeSupport": {
                    "type": "string"
                },
                "DnsSupport": {
                    "type": "string"
                },
                "Ipv6Support": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VPC": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Ipv4IpamPoolId": {
                            "type": "string"
                        },
                        "Ipv4NetmaskLength": {
                            "type": "number"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VPC"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::VPCCidrBlock": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "Ipv4IpamPoolId": {
                            "type": "string"
                        },
                        "Ipv4NetmaskLength": {
                            "type": "number"
                        },
                        "Ipv6CidrBlock": {
                            "type": "string"
                        },
                        "Ipv6IpamPoolId": {
                            "type": "string"
                        },
                        "Ipv6NetmaskLength": {
                            "type": "number"
                        },
                        "Ipv6Pool": {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ContributorInsightsEnabled": {
                            "type": "boolean"
                        },
                        "GatewayLoadBalancerArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "NetworkLoadBalancerArns": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "PayerResponsibility": {
                            "type": "string"
                        }
                    },
                    "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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::VerifiedAccessEndpoint": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "ApplicationDomain": {
                            "type": "string"
                        },
                        "AttachmentType": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        },
                        "DomainCertificateArn": {
                            "type": "string"
                        },
                        "EndpointDomainPrefix": {
                            "type": "string"
                        },
                        "EndpointType": {
                            "type": "string"
                        },
                        "LoadBalancerOptions": {
                            "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions"
                        },
                        "NetworkInterfaceOptions": {
                            "$ref": "#/definitions/AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions"
                        },
                        "PolicyDocument": {
                            "type": "string"
                        },
                        "PolicyEnabled": {
                            "type": "boolean"
                        },
                        "SecurityGroupIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VerifiedAccessGroupId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "ApplicationDomain",
                        "AttachmentType",
                        "DomainCertificateArn",
                        "EndpointDomainPrefix",
                        "EndpointType",
                        "VerifiedAccessGroupId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VerifiedAccessEndpoint"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions": {
            "additionalProperties": false,
            "properties": {
                "LoadBalancerArn": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                },
                "SubnetIds": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions": {
            "additionalProperties": false,
            "properties": {
                "NetworkInterfaceId": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                },
                "Protocol": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessGroup": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "PolicyDocument": {
                            "type": "string"
                        },
                        "PolicyEnabled": {
                            "type": "boolean"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VerifiedAccessInstanceId": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "VerifiedAccessInstanceId"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VerifiedAccessGroup"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessInstance": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "LoggingConfigurations": {
                            "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "VerifiedAccessTrustProviderIds": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "VerifiedAccessTrustProviders": {
                            "items": {
                                "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VerifiedAccessInstance"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessInstance.CloudWatchLogs": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "LogGroup": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose": {
            "additionalProperties": false,
            "properties": {
                "DeliveryStream": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessInstance.S3": {
            "additionalProperties": false,
            "properties": {
                "BucketName": {
                    "type": "string"
                },
                "BucketOwner": {
                    "type": "string"
                },
                "Enabled": {
                    "type": "boolean"
                },
                "Prefix": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs": {
            "additionalProperties": false,
            "properties": {
                "CloudWatchLogs": {
                    "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.CloudWatchLogs"
                },
                "IncludeTrustContext": {
                    "type": "boolean"
                },
                "KinesisDataFirehose": {
                    "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose"
                },
                "LogVersion": {
                    "type": "string"
                },
                "S3": {
                    "$ref": "#/definitions/AWS::EC2::VerifiedAccessInstance.S3"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider": {
            "additionalProperties": false,
            "properties": {
                "Description": {
                    "type": "string"
                },
                "DeviceTrustProviderType": {
                    "type": "string"
                },
                "TrustProviderType": {
                    "type": "string"
                },
                "UserTrustProviderType": {
                    "type": "string"
                },
                "VerifiedAccessTrustProviderId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessTrustProvider": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "DeviceOptions": {
                            "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions"
                        },
                        "DeviceTrustProviderType": {
                            "type": "string"
                        },
                        "OidcOptions": {
                            "$ref": "#/definitions/AWS::EC2::VerifiedAccessTrustProvider.OidcOptions"
                        },
                        "PolicyReferenceName": {
                            "type": "string"
                        },
                        "Tags": {
                            "items": {
                                "$ref": "#/definitions/Tag"
                            },
                            "type": "array"
                        },
                        "TrustProviderType": {
                            "type": "string"
                        },
                        "UserTrustProviderType": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "PolicyReferenceName",
                        "TrustProviderType"
                    ],
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::EC2::VerifiedAccessTrustProvider"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type",
                "Properties"
            ],
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions": {
            "additionalProperties": false,
            "properties": {
                "TenantId": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::VerifiedAccessTrustProvider.OidcOptions": {
            "additionalProperties": false,
            "properties": {
                "AuthorizationEndpoint": {
                    "type": "string"
                },
                "ClientId": {
                    "type": "string"
                },
                "ClientSecret": {
                    "type": "string"
                },
                "Issuer": {
                    "type": "string"
                },
                "Scope": {
                    "type": "string"
                },
                "TokenEndpoint": {
                    "type": "string"
                },
                "UserInfoEndpoint": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::EC2::Volume": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": [
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                            "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData"
                        },
                        "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::PublicRepository.RepositoryCatalogData": {
            "additionalProperties": false,
            "properties": {
                "AboutText": {
                    "type": "string"
                },
                "Architectures": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "OperatingSystems": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "RepositoryDescription": {
                    "type": "string"
                },
                "UsageText": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECR::PullThroughCacheRule": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EcrRepositoryPrefix": {
                            "type": "string"
                        },
                        "UpstreamRegistryUrl": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "Type": {
                    "enum": [
                        "AWS::ECR::PullThroughCacheRule"
                    ],
                    "type": "string"
                },
                "UpdateReplacePolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "Type"
            ],
            "type": "object"
        },
        "AWS::ECR::RegistryPolicy": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                },
                "RepositoryFilters": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.RepositoryFilter"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Destinations"
            ],
            "type": "object"
        },
        "AWS::ECR::ReplicationConfiguration.RepositoryFilter": {
            "additionalProperties": false,
            "properties": {
                "Filter": {
                    "type": "string"
                },
                "FilterType": {
                    "type": "string"
                }
            },
            "required": [
                "Filter",
                "FilterType"
            ],
            "type": "object"
        },
        "AWS::ECR::Repository": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "pattern": "^[a-zA-Z0-9]+$",
                            "type": "string"
                        },
                        {
                            "items": {
                                "pattern": "^[a-zA-Z0-9]+$",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                },
                "Metadata": {
                    "type": "object"
                },
                "Properties": {
                    "additionalProperties": false,
                    "properties": {
                        "EmptyOnDelete": {
                            "type": "boolean"
                        },
                        "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ServiceConnectDefaults": {
                            "$ref": "#/definitions/AWS::ECS::Cluster.ServiceConnectDefaults"
                        },
                        "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::Cluster.ServiceConnectDefaults": {
            "additionalProperties": false,
            "properties": {
                "Namespace": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AWS::ECS::ClusterCapacityProviderAssociations": {
            "additionalProperties": false,
            "properties": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "ServiceConnectConfiguration": {
                            "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectConfiguration"
                        },
                        "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.DeploymentAlarms": {
            "additionalProperties": false,
            "properties": {
                "AlarmNames": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "Enable": {
                    "type": "boolean"
                },
                "Rollback": {
                    "type": "boolean"
                }
            },
            "required": [
                "AlarmNames",
                "Enable",
                "Rollback"
            ],
            "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": {
                "Alarms": {
                    "$ref": "#/definitions/AWS::ECS::Service.DeploymentAlarms"
                },
                "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.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::Service.Secret"
                    },
                    "type": "array"
                }
            },
            "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.Secret": {
            "additionalProperties": false,
            "properties": {
                "Name": {
                    "type": "string"
                },
                "ValueFrom": {
                    "type": "string"
                }
            },
            "required": [
                "Name",
                "ValueFrom"
            ],
            "type": "object"
        },
        "AWS::ECS::Service.ServiceConnectClientAlias": {
            "additionalProperties": false,
            "properties": {
                "DnsName": {
                    "type": "string"
                },
                "Port": {
                    "type": "number"
                }
            },
            "required": [
                "Port"
            ],
            "type": "object"
        },
        "AWS::ECS::Service.ServiceConnectConfiguration": {
            "additionalProperties": false,
            "properties": {
                "Enabled": {
                    "type": "boolean"
                },
                "LogConfiguration": {
                    "$ref": "#/definitions/AWS::ECS::Service.LogConfiguration"
                },
                "Namespace": {
                    "type": "string"
                },
                "Services": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectService"
                    },
                    "type": "array"
                }
            },
            "required": [
                "Enabled"
            ],
            "type": "object"
        },
        "AWS::ECS::Service.ServiceConnectService": {
            "additionalProperties": false,
            "properties": {
                "ClientAliases": {
                    "items": {
                        "$ref": "#/definitions/AWS::ECS::Service.ServiceConnectClientAlias"
                    },
                    "type": "array"
                },
                "DiscoveryName": {
                    "type": "string"
                },
                "IngressPortOverride": {
                    "type": "number"
                },
                "PortName": {
                    "type": "string"
                }
            },
            "required": [
                "PortName"
            ],
            "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": {
                "Condition": {
                    "type": "string"
                },
                "DeletionPolicy": {
                    "enum": [
                        "Delete",
                        "Retain",
                        "Snapshot"
                    ],
                    "type": "string"
                },
                "DependsOn": {
                    "anyOf": [
                        {
                            "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"
                        },
                        "RuntimePlatform": {
                            "$ref": "#/definitions/AWS::ECS::TaskDefinition.RuntimePlatform"
                        },
                        "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"
                }
            },
            "required": [
                "Image",
                "Name"
            ],
            "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": {
                    "$ref": "#/definitions/AWS::ECS::TaskDefinition.AuthorizationConfig"
                },
                "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":
[cell cut: 6786385 characters, first 2000000 kept]